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

Verwendung von SSH-Befehlen in Linux/Unix-Systemen

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

  1. 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.
  2. 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.

Linux
  1. Linux-Cat-Befehl:Verwendung und Beispiele

  2. Der Linux-AWK-Befehl – ​​Syntaxbeispiele für Linux und Unix

  3. Linux Massen-/Remoteverwaltung?

  4. Linux-df-Befehl

  5. UNIX / Linux:10 Netstat-Befehlsbeispiele

mkdir-Befehl unter Linux/Unix

Grep-Befehl unter Linux/UNIX

ls-Befehl unter Linux/UNIX

cp-Befehl unter Linux/UNIX

Finden Sie Befehl in Linux/UNIX

Verwendung von Telnet-Befehlen unter Linux/Unix