GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und aktivieren Sie den SSH-Server unter Debian 10

Dieses Tutorial konzentriert sich auf die Einrichtung und Konfiguration eines SSH-Servers auf einem Debian 10-Minimalserver

SSH , für Secure Shell , ist ein Netzwerkprotokoll, das verwendet wird, um entfernte Anmeldungen an entfernten Maschinen innerhalb eines lokalen Netzwerks oder über das Internet durchzuführen. SSH-Architekturen enthalten normalerweise einen SSH-Server, der von SSH-Clients verwendet wird, um eine Verbindung zum Remote-Computer herzustellen.

Als Systemadministrator verwenden Sie höchstwahrscheinlich täglich SSH, um eine Verbindung zu Remote-Rechnern in Ihrem Netzwerk herzustellen.

Wenn neue Hosts in Ihre Infrastruktur integriert werden, müssen Sie sie daher möglicherweise konfigurieren, um SSH darauf zu installieren und zu aktivieren.

In diesem Tutorial werden wir sehen, wie Sie SSH über OpenSSH installieren und aktivieren können , auf einer Debian 10-Distribution.

Voraussetzungen

Um einen SSH-Server auf Debian 10 zu installieren, benötigen Sie sudo-Berechtigungen auf Ihrem Host.

Um zu überprüfen, ob Sie sudo-Berechtigungen haben oder nicht, führen Sie den folgenden Befehl aus

$ sudo -l

Wenn Sie die folgenden Einträge auf Ihrem Terminal sehen, bedeutet dies, dass Sie über erhöhte Berechtigungen verfügen

Standardmäßig sollte das Dienstprogramm ssh auf Ihrem Host installiert sein, selbst bei minimalen Konfigurationen.

Um die Version Ihres SSH-Dienstprogramms zu überprüfen, können Sie den folgenden Befehl ausführen

$ ssh -V

Wie Sie sehen können, verwende ich OpenSSH v7.9 mit OpenSSL v1.1.1.

Beachten Sie, dass dies nicht bedeutet, dass SSH-Server auf meinem Host installiert sind, es bedeutet nur, dass ich möglicherweise als Client mit dem SSH-Dienstprogramm eine Verbindung zu Remote-Rechnern herstellen kann.

Es bedeutet auch, dass bestimmte Dienstprogramme im Zusammenhang mit dem SSH-Protokoll (z. B. scp) oder im Zusammenhang mit FTP-Servern (z. B. sftp) auf meinem Host verfügbar sein werden.

Installieren von OpenSSH Server auf Debian 10

Stellen Sie zunächst sicher, dass Ihre Pakete auf dem neuesten Stand sind, indem Sie einen Update-Befehl ausführen

$ sudo apt-get update

Um einen SSH-Server auf Debian 10 zu installieren, führen Sie den folgenden Befehl aus

$ sudo apt-get install openssh-server

Der Befehl sollte einen vollständigen Installationsprozess ausführen und alle erforderlichen Dateien für Ihren SSH-Server einrichten.

Wenn die Installation erfolgreich war, sollte jetzt ein sshd-Dienst auf Ihrem Host installiert sein.

Führen Sie den folgenden Befehl aus, um Ihren neu installierten Dienst zu überprüfen

$ sudo systemctl status sshd

Standardmäßig läuft Ihr SSH-Server auf Port 22.

Dies ist der Standardport, der für die SSH-Kommunikation zugewiesen wird. Sie können überprüfen, ob dies auf Ihrem Host der Fall ist, indem Sie den folgenden netstat-Befehl

ausführen
$ netstat -tulpn | grep 22

Toll! Ihr SSH-Server ist jetzt auf Ihrem Debian 10-Host eingerichtet und läuft.

SSH-Verkehr in Ihren Firewall-Einstellungen aktivieren

Wenn Sie UFW als Standard-Firewall auf Ihrem Debian 10-System verwenden, müssen Sie wahrscheinlich SSH-Verbindungen auf Ihrem Host zulassen.

Führen Sie den folgenden Befehl aus, um SSH-Verbindungen auf Ihrem Host zu aktivieren

$ sudo ufw allow ssh

SSH-Server beim Systemstart aktivieren

Wie Sie wahrscheinlich gesehen haben, läuft Ihr SSH-Server jetzt als Dienst auf Ihrem Host.

Es ist auch sehr wahrscheinlich, dass es angewiesen wird, beim Booten zu starten.

Um zu überprüfen, ob Ihr Dienst aktiviert ist oder nicht, können Sie den folgenden Befehl ausführen

$ sudo systemctl list-unit-files | grep enabled | grep ssh

Wenn auf Ihrem Terminal keine Ergebnisse angezeigt werden, aktivieren Sie den Dienst und führen Sie den Befehl erneut aus

$ sudo systemctl enable ssh

Ihren SSH-Server auf Debian konfigurieren

Bevor Sie Benutzern über SSH Zugriff gewähren, ist es wichtig, eine Reihe sicherer Einstellungen zu haben, um Angriffe zu vermeiden, insbesondere wenn Ihr Server als Online-VPS ausgeführt wird.

Wie wir bereits in der Vergangenheit gesehen haben, sind SSH-Angriffe ziemlich häufig, aber sie können vermieden werden, wenn wir die verfügbaren Standardeinstellungen ändern.

Standardmäßig befinden sich Ihre SSH-Konfigurationsdateien unter /etc/ssh/

In diesem Verzeichnis finden Sie viele verschiedene Konfigurationsdateien, aber die wichtigsten sind:

  • ssh_config :definiert SSH-Regeln für Clients. Das bedeutet, dass es Regeln definiert, die jedes Mal angewendet werden, wenn Sie SSH verwenden, um sich mit einem entfernten Host zu verbinden oder Dateien zwischen Hosts zu übertragen;
  • sshd_config :definiert SSH-Regeln für Ihren SSH-Server. Es wird beispielsweise verwendet, um den erreichbaren SSH-Port zu definieren oder bestimmten Benutzern die Kommunikation mit Ihrem Server zu verweigern.

Wir werden offensichtlich den serverweiten Teil unseres SSH-Setups modifizieren, da wir daran interessiert sind, unseren OpenSSH-Server zu konfigurieren und zu sichern.

SSH-Standardport ändern

Der erste Schritt zum Betrieb eines sicheren SSH-Servers besteht darin, die vom OpenSSH-Server zugewiesene Standardeinstellung zu ändern.

Bearbeiten Sie Ihre Konfigurationsdatei sshd_config und suchen Sie nach der folgenden Zeile.

#Port 22

Stellen Sie sicher, dass Sie Ihren Port auf einen ändern, der nicht für andere Protokolle reserviert ist. Ich wähle in diesem Fall 2222.

Wenn Sie sich mit Ihrem Host verbinden und dieser nicht auf dem Standardport läuft, geben Sie den SSH-Port selbst an.

Weitere Informationen finden Sie im Abschnitt „Verbindung mit Ihrem SSH-Server herstellen“.

Stammanmeldung auf Ihrem SSH-Server deaktivieren

Standardmäßig ist die Root-Anmeldung auf Ihrem SSH-Server verfügbar.

Dies sollte natürlich nicht der Fall sein, da es eine komplette Katastrophe wäre, wenn sich Hacker als root auf Ihrem Server anmelden würden.

Wenn Sie zufällig das Root-Konto in Ihrer Debian 10-Installation deaktiviert haben, können Sie Ihren SSH-Server immer noch so konfigurieren, dass er die Root-Anmeldung verweigert, falls Sie sich entscheiden, Ihre Root-Anmeldung eines Tages wieder zu aktivieren.

Um die Root-Anmeldung auf Ihrem SSH-Server zu deaktivieren, ändern Sie die folgende Zeile

#PermitRootLogin

PermitRootLogin no

Konfigurieren der schlüsselbasierten SSH-Authentifizierung

In SSH gibt es zwei Möglichkeiten, sich mit Ihrem Host zu verbinden:durch die Verwendung einer Passwortauthentifizierung (was wir hier tun) oder durch einen Satz von SSH-Schlüsseln.

Wenn Sie neugierig auf die schlüsselbasierte SSH-Authentifizierung unter Debian 10 sind, finden Sie hier ein Tutorial zu diesem Thema.

Neustart Ihres SSH-Servers, um Änderungen zu übernehmen

Damit die Änderungen übernommen werden, starten Sie Ihren SSH-Dienst neu und vergewissern Sie sich, dass er korrekt neu gestartet wurde

$ sudo systemctl restart sshd
$ sudo systemctl status sshd

Wenn Sie den Standardport ändern, stellen Sie außerdem sicher, dass die Änderungen korrekt angewendet wurden, indem Sie einen einfachen netstat-Befehl

ausführen
$ netstat -tulpn | grep 2222

Verbinden mit Ihrem SSH-Server

Um sich mit Ihrem SSH-Server zu verbinden, verwenden Sie den ssh-Befehl mit der folgenden Syntax

$ ssh -p <port> <username>@<ip_address>

Wenn Sie sich über ein LAN-Netzwerk verbinden, stellen Sie sicher, dass Sie die lokale IP-Adresse Ihres Computers mit dem folgenden Befehl abrufen

$ sudo ifconfig

Um beispielsweise eine Verbindung zu meiner eigenen Instanz unter 127.0.0.1 herzustellen, würde ich den folgenden Befehl ausführen

$ ssh -p 2222 <user>@127.0.0.1

Sie werden aufgefordert, Ihr Passwort einzugeben und zu bestätigen, dass die Authentizität des Servers korrekt ist.

Ihren SSH-Server verlassen

Um Ihren SSH-Server unter Debian 10 zu verlassen, können Sie Strg + D drücken oder „Logout“ eingeben und Ihre Verbindung wird beendet.

SSH-Server deaktivieren

Um Ihren SSH-Server unter Debian 10 zu deaktivieren, führen Sie den folgenden Befehl aus

$ sudo systemctl stop sshd
$ sudo systemctl status sshd

Von dort aus ist Ihr SSH-Server nicht mehr erreichbar.

Fehlerbehebung

In einigen Fällen können beim Versuch, einen SSH-Server unter Debian 10 einzurichten, viele Fehlermeldungen angezeigt werden.

Hier ist die Liste der häufigsten Fehler, die während der Einrichtung auftreten können.

Debian:SSH-Verbindung abgelehnt

Normalerweise erhalten Sie diesen Fehler, weil Ihre Firewall unter Debian nicht richtig konfiguriert ist.

Um „SSH-Verbindung abgelehnt“ zu lösen, müssen Sie Ihre UFW-Firewall-Einstellungen überprüfen.

Standardmäßig verwendet Debian UFW als Standard-Firewall, daher sollten Sie Ihre Firewall-Regeln überprüfen und sehen, ob SSH korrekt zugelassen ist.

$ sudo ufw status

Status: active
 
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere

Wenn Sie iptables verwenden, können Sie Ihre aktuellen IP-Regeln auch mit dem Befehl iptables überprüfen.

$ sudo iptables -L -n

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

Wenn die Regel nicht für SSH festgelegt ist, können Sie sie festlegen, indem Sie den Befehl iptables erneut ausführen.

$ sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Debian :SSH-Zugriff verweigert

Manchmal wird Ihnen der Zugriff auf Ihren SSH-Server mit dieser Fehlermeldung „SSH-Zugriff verweigert“ unter Debian verweigert.

Um dieses Problem zu lösen, hängt es von der Authentifizierungsmethode ab, die Sie verwenden.

SSH-Passwortzugriff verweigert

Wenn Sie die Passwortmethode verwenden, überprüfen Sie Ihr Passwort und vergewissern Sie sich, dass Sie es richtig eingegeben haben.

Außerdem ist es möglich, SSH-Server so zu konfigurieren, dass nur eine bestimmte Untergruppe von Benutzern zugelassen wird:Wenn dies der Fall ist, stellen Sie sicher, dass Sie zu dieser Liste gehören.

Wenn Sie sich schließlich als Root anmelden möchten, stellen Sie sicher, dass Sie die Option „PermitRootLogin“ in Ihrer Datei „sshd_config“ geändert haben.

#PermitRootLogin

PermitRootLogin yes

SSH-Schlüsselzugriff verweigert

Wenn Sie SSH-Schlüssel für Ihre SSH-Authentifizierung verwenden, müssen Sie möglicherweise noch einmal überprüfen, ob sich der Schlüssel korrekt in der Datei „authorized_keys“ befindet.

Wenn Sie sich nicht sicher sind, wie das geht, folgen Sie unserer Anleitung zur SSH-Schlüsselauthentifizierung unter Debian 10.

Debian:Paket openssh-server konnte nicht gefunden werden

Dafür müssen Sie sicherstellen, dass Sie Ihre APT-Repositories richtig eingestellt haben.

Fügen Sie Ihrer sources.list-Datei den folgenden Eintrag hinzu und aktualisieren Sie Ihre Pakete.

$ sudo nano /etc/apt/sources.list

deb http://ftp.us.debian.org/debian wheezy main

$ sudo apt-get update

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie einen SSH-Server auf Debian 10-Hosts installieren und konfigurieren können.

Sie haben auch grundlegende Konfigurationsoptionen kennengelernt, die angewendet werden müssen, um einen sicheren und robusten SSH-Server über ein LAN oder über das Internet zu betreiben.

Wenn Sie neugierig auf die Linux-Systemadministration sind, haben wir eine Menge Tutorials zu diesem Thema in einer eigenen Kategorie.


Debian
  1. So installieren und konfigurieren Sie OpenVPN Server unter Debian 10

  2. So installieren Sie MySQL 8.0 / 5.7 unter Debian 11 / Debian 10

  3. So installieren und konfigurieren Sie Squid Proxy unter Debian 11

  4. So installieren Sie ProFTPD unter Debian 8

  5. So installieren Sie MySQL Server unter Debian 9

So installieren Sie Puppet Server und Agent unter Debian 11

So installieren Sie Todoman auf einem Debian 11-Server

So installieren und konfigurieren Sie den Apache-Webserver unter Debian 11

So installieren Sie FastPanel unter Debian 11

So installieren Sie I2P auf einem Debian-Server:

So aktivieren Sie SSH auf Debian 10 Buster