Jeder sicherheitsbewusste Linux-Benutzer verwendet immer das SSH-Protokoll, wenn er sich mit Servern verbindet. Dies liegt daran, dass SSH ein sicheres Protokoll ist, das Daten oder Informationen verschlüsselt, die über das Netzwerk gesendet werden. SSH ersetzte in den 90er Jahren ältere und unsichere Protokolle wie Telnet und rlogin. In diesem Leitfaden betrachten wir die Verwendung von SSH-Befehlen anhand von Beispielen.
Standardmäßig wird SSH auf dem TCP/IP-Port 22 ausgeführt
Überprüfen, ob der SSH-Dienst auf einem Linux-System ausgeführt wird
Wenn Sie derzeit an einem Linux-System angemeldet sind und überprüfen möchten, ob SSH ausgeführt wird, führen Sie den Befehl
aus# systemctl status sshd
Beispielausgabe
Zusätzlich können Sie überprüfen, ob ssh Port 22 auf Ihrem Server abhört, indem Sie netstat
verwenden Befehl wie gezeigt
# netstat -pnltu
Beispielausgabe
Die beiden Techniken haben bestätigt, dass das SSH-Protokoll auf Port 22 läuft.
Anmelden bei einem Remote-System mit SSH
Verwenden Sie die folgende Syntax, um sich als Root-Benutzer von einem Linux-Rechner aus bei einem Remote-System anzumelden:
# ssh root@host-ip-address
Zum Beispiel werde ich mich bei einem entfernten Debian-PC IP 173.82.208.144
anmelden
# ssh [email protected]
Wenn Sie zum ersten Mal eine Verbindung herstellen, sehen Sie die folgende Eingabeaufforderung
Geben Sie yes
ein um den Server zur Liste der known_hosts
hinzuzufügen befindet sich in ~/.ssh/known_hosts
Jeder Server besteht aus einem Hostschlüssel, der ein kryptografischer Schlüssel ist. Dieser Schlüssel wird verwendet, um Systeme mit dem SSH-Protokoll zu authentifizieren.
Als nächstes werden Sie nach dem Passwort des Remote-Systems gefragt. Geben Sie das Passwort ein und drücken Sie „ENTER“, um sich beim System anzumelden.
Anmelden bei einem System als normaler Benutzer
Manchmal möchten Sie sich möglicherweise mit einem regulären Benutzerkonto bei einem Remote-System anmelden, wenn die Remote-Root-Anmeldung deaktiviert ist. Befolgen Sie dazu die unten stehende Syntax
# ssh username@host-ip-address
ODER
# ssh -l username host-ip-address
Um sich als Benutzer „john“ anzumelden, der sich auf dem entfernten Debian-System befindet, führen Sie den Befehl
aus# ssh [email protected]
Beispielausgabe
Sie können dasselbe mit dem folgenden Befehl erhalten.
# ssh -l john 173.82.208.144
Beispielausgabe
Passwortlose Authentifizierung konfigurieren
Manchmal müssen Sie ständig auf Ihre Remote-Systeme zugreifen oder Sie haben möglicherweise Dienste, die Zugriff auf diese Systeme benötigen. Die Kennwortauthentifizierung kann zu Zeitverschwendung führen oder den Zugriff auf automatisierte Anwendungen behindern, die Zugriff auf die Remote-Systeme erfordern. Aus diesem Grund ist es praktisch, eine passwortlose SSH-Authentifizierung für Ihre Remote-Server zu konfigurieren.
Schritt 1:SSH-Schlüssel generieren
Der erste Schritt besteht darin, SSH-Schlüssel auf dem Server mit dem folgenden Befehl zu generieren:
# ssh-keygen
Beispielausgabe
Wenn Sie bei jedem Schritt dazu aufgefordert werden, drücken Sie einfach die Eingabetaste, um die Standardeinstellungen beizubehalten
Der öffentliche Schlüssel – id_rsa.pub
– wird in ~/.ssh/
gespeichert Verzeichnis
Schritt 2:Kopieren des öffentlichen SSH-Schlüssels auf den Remote-Client
Der nächste Schritt besteht darin, den generierten öffentlichen Schlüssel auf das Remote-Client-System zu kopieren. Dazu verwenden wir die ssh-copy-id
Befehl . Der Befehl kopiert den SSH-Schlüssel als autorisierten Schlüssel auf den Remote-Client. Dies ermöglicht nachfolgende automatische passwortlose Anmeldungen.
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Beispielausgabe
Jetzt können Sie sich nahtlos beim entfernten Debian-System anmelden, ohne nach einem Passwort gefragt zu werden
Beispielausgabe
Der öffentliche Schlüssel wird im Client-System im ~/.ssh/authorized_keys
gespeichert Datei.
EIN PAAR HINWEISE
- SSH-Clients speichern Hostschlüssel für Systeme, mit denen sie verbunden sind. Diese Schlüssel werden als
known host keys
bezeichnet und werden in~/.ssh/
gespeichert Verzeichnis. - Die privaten Schlüssel –
id_rsa
sollte nur für den Root-Benutzer zugänglich sein und nicht auf ein System kopiert werden. Wenn dies an Dritte weitergegeben wird, kann dies zu Man-in-the-Middle-Angriffen führen, bei denen die Client-Systeme von Hackern kompromittiert werden können.