So stellen Sie mithilfe des grundlegenden SSH-Befehls eine Verbindung zu einem Remote-Server her

Meistern Sie den grundlegenden `ssh`-Befehl für den sicheren Zugriff auf Remote-Server. Diese essentielle Anleitung erläutert die Kernsyntax, einschließlich Benutzername, Host-Adresse und Optionen für benutzerdefinierte Ports (`-p`). Erfahren Sie, wie Sie Verbindungen sowohl mithilfe von Passwörtern als auch der sichereren schlüsselbasierten Authentifizierung (`-i`) herstellen. Dieser Artikel ist ideal für neue Benutzer und Administratoren und bietet praktische Beispiele und wichtige Tipps zur Fehlerbehebung, um jedes Mal eine robuste und effiziente Verbindung zu gewährleisten.

41 Aufrufe

So stellen Sie mithilfe des grundlegenden SSH-Befehls eine Verbindung zu einem Remote-Server her

Einführung in Secure Shell (SSH)

Secure Shell (SSH) ist das Rückgrat der sicheren Remote-Administration und bietet ein kryptografisches Netzwerkprotokoll zur sicheren Bereitstellung von Netzwerkdiensten über ein unsicheres Netzwerk. Es ist die Standardmethode, die von Systemadministratoren und Entwicklern verwendet wird, um remote auf Linux-, Unix- und macOS-Server zuzugreifen und diese zu verwalten. Im Gegensatz zu älteren, unsicheren Protokollen wie Telnet verschlüsselt SSH alle übertragenen Daten, einschließlich Benutzernamen, Passwörter und Befehlsausgaben, wodurch die Vertraulichkeit und Integrität gewährleistet wird.

Diese Anleitung konzentriert sich auf den grundlegendsten Aspekt des Protokolls: den Aufbau einer einfachen, direkten Verbindung mithilfe der grundlegenden ssh-Befehlssyntax. Unabhängig davon, ob Sie Systemwartung durchführen, Code bereitstellen oder Dateien übertragen, ist das Verständnis des grundlegenden Verbindungsmechanismus der wesentliche erste Schritt zur Nutzung der vollen Leistungsfähigkeit des Secure Shell-Protokolls.

Voraussetzungen für die Verbindung

Stellen Sie sicher, dass die folgenden Komponenten bereit sind, bevor Sie versuchen, eine Verbindung herzustellen:

  1. SSH-Client: Die meisten modernen Betriebssysteme (Linux, macOS) enthalten den OpenSSH-Client standardmäßig. Windows 10/11 enthält ebenfalls einen integrierten OpenSSH-Client, obwohl ältere Versionen möglicherweise eine Anwendung eines Drittanbieters wie PuTTY erfordern.
  2. Serveradresse (Host): Die IP-Adresse (z. B. 192.168.1.50) oder der voll qualifizierte Domänenname (FQDN, z. B. server.example.com) des Remote-Rechners.
  3. Benutzername: Ein gültiger Benutzeraccount auf dem Remote-Server (z. B. root, ubuntu, jdoe).
  4. Anmeldeinformationen: Entweder das Passwort für den angegebenen Benutzer oder eine passende private SSH-Schlüsseldatei.

Die grundlegende SSH-Befehlssyntax

Der Aufbau einer SSH-Verbindung basiert auf einer einfachen, konsistenten Syntaxstruktur. Der Befehl erfordert die Angabe, wer Sie sind und wohin Sie möchten.

Aufschlüsselung der Kernsyntax

Die grundlegendste Struktur des SSH-Befehls lautet:

ssh [Optionen] benutzername@host_adresse
Komponente Beschreibung Beispielwert
ssh Der Befehl, der die Secure Shell-Verbindung initiiert. -
[Optionen] Optionale Flags zur Änderung der Verbindung (z. B. Port, Identitätsdatei). -p 2222
benutzername Der Accountname auf dem Remote-Server, unter dem Sie sich anmelden möchten. sysadmin
host_adresse Die IP-Adresse oder der Domänenname des Remote-Servers. 172.31.255.10 oder webserver.com

Verbindung zum Standardport

Standardmäßig lauscht der SSH-Server auf TCP-Port 22. Wenn der Remote-Server diesen Standardport verwendet, müssen Sie außer dem Benutzernamen und dem Host keine weiteren Optionen angeben.

Beispiel: Verbindung als Benutzer jdoe zum Server unter 192.168.1.100

ssh [email protected]

Wenn dies das erste Mal ist, dass Sie eine Verbindung zum Server herstellen, werden Sie vom SSH-Client aufgefordert, den Host-Schlüssel des Servers zu überprüfen und zu bestätigen, ob Sie der Verbindung vertrauen möchten. Sie müssen yes eingeben, um fortzufahren. Dieser Schlüssel wird dann in Ihrer ~/.ssh/known_hosts-Datei gespeichert.

Wesentliche Verbindungsoptionen

Obwohl die grundlegende Syntax für die meisten Standardverbindungen funktioniert, werden mehrere Optionen häufig verwendet, um die Verbindung anzupassen oder Fehler zu beheben.

Angabe eines benutzerdefinierten Ports (-p)

Aus Sicherheitsgründen ändern viele Serveradministratoren den Standard-SSH-Port (22) in einen nicht standardmäßigen Port (z. B. 2222, 50000). Sie müssen das Flag -p verwenden, um diesen benutzerdefinierten Port anzugeben.

Syntax:

ssh -p [port_nummer] benutzername@host_adresse

Beispiel: Verbindung zu appserver.local auf Port 5555

ssh -p 5555 [email protected]

Tipp: Platzierung des Ports

Beachten Sie, dass die Option -p vor dem Argument benutzername@host steht.

Ausführliche Ausgabe (-v)

Wenn Sie Verbindungsprobleme haben (z. B. Verbindungsabbrüche, Authentifizierungsfehler), ist der ausführliche Modus zur Fehlerbehebung von unschätzbarem Wert. Das Flag -v erhöht die Ausgabestufe und zeigt detaillierte Schritte des Verbindungsprozesses an, einschließlich Aushandlung, Schlüsselaustausch und Authentifizierungsversuchen.

Syntax:

ssh -v benutzername@host_adresse

Für eine noch detailliertere Fehlerbehebung können Sie -vv oder -vvv (maximale Ausführlichkeit) verwenden.

Ausführen eines einzelnen Remote-Befehls

SSH wird typischerweise verwendet, um eine interaktive Shell-Sitzung zu öffnen. Sie können jedoch einen einzelnen Befehl auf dem Remote-Server ausführen, ohne eine kontinuierliche Sitzung einzurichten. Die Verbindung führt den Befehl aus, gibt die Ausgabe zurück und wird dann sofort geschlossen.

Syntax:

ssh benutzername@host_adresse "befehl ausführen"

Beispiel: Überprüfen des Speicherplatzes (df -h) auf dem Remote-Server:

ssh [email protected] "df -h"

Authentifizierungsmethoden

Sobald die Verbindung initiiert wurde, verlangt der Server eine Authentifizierung, um Ihre Identität zu überprüfen. Die beiden Hauptmethoden sind die Passwortauthentifizierung und die schlüsselbasierte Authentifizierung.

1. Passwortauthentifizierung

Dies ist die einfachste Methode, bei der der Server Sie nach dem Passwort des Benutzers fragt, nachdem die Verbindung hergestellt wurde. SSH verschlüsselt die Passwortübertragung.

Vorgang:

  1. Führen Sie den ssh-Befehl aus.
  2. Server fragt: Passwort für [email protected]:
  3. Geben Sie das Passwort ein (die Eingabe wird nicht angezeigt).

Warnung: Sicherheitsbedenken

Obwohl bequem, ist die Passwortauthentifizierung anfällig für Brute-Force-Angriffe. Best Practices schreiben vor, die Passwortauthentifizierung auf öffentlich zugänglichen Servern vollständig zu deaktivieren und sich ausschließlich auf SSH-Schlüssel zu verlassen.

2. Schlüsselbasierte Authentifizierung

Die schlüsselbasierte Authentifizierung verwendet ein Paar kryptografischer Schlüssel: einen öffentlichen Schlüssel, der auf dem Server gespeichert ist, und einen entsprechenden privaten Schlüssel, der sicher auf Ihrem lokalen Rechner gespeichert ist. Diese Methode ist weitaus sicherer als Passwörter.

Angeben der Identitätsdatei (-i)

Wenn sich Ihre private Schlüsseldatei nicht am Standardspeicherort (~/.ssh/id_rsa oder ~/.ssh/id_ed25519) befindet, müssen Sie die Option -i verwenden, um ihren Speicherort anzugeben.

Syntax:

ssh -i /pfad/zur/privaten/schlüsseldatei benutzername@host_adresse

Beispiel: Verbindung unter Verwendung eines bestimmten Schlüssels namens prod_server_key

ssh -i ~/.ssh/prod_server_key [email protected]

Einrichten der Schlüsselauthentifizierung (Kurzer Überblick)

Um die Schlüsselauthentifizierung zu verwenden, führen Sie typischerweise die folgenden Schritte aus:

  1. Generieren Sie das Schlüsselpaar auf Ihrem lokalen Rechner mit ssh-keygen.
  2. Kopieren Sie den öffentlichen Schlüssel in die Datei ~/.ssh/authorized_keys des Remote-Servers, was normalerweise mit dem Dienstprogramm ssh-copy-id durchgeführt wird.
ssh-copy-id benutzername@host_adresse

Zusammenfassung der praktischen SSH-Befehle

Ziel Befehlsbeispiel Beschreibung
Standardverbindung ssh [email protected] Stellt die Verbindung über den Standardport 22 her.
Benutzerdefinierter Port ssh -p 443 [email protected] Stellt die Verbindung zu Port 443 her.
Schlüsselauthentifizierung ssh -i ~/.ssh/dev_key dev@testbed Stellt die Verbindung unter Verwendung einer bestimmten privaten Schlüsseldatei her.
Verbindung testen ssh -v [email protected] Führt die Verbindung im ausführlichen Modus zur Fehlerbehebung aus.
Remote-Befehl ssh user@host "uptime" Führt den Befehl uptime aus und beendet die Sitzung.

Fazit

Der grundlegende ssh-Befehl ist das Tor zur Remote-Serververwaltung. Durch das Beherrschen der Kernsyntax (ssh benutzer@host) und das Verständnis der wesentlichen Optionen wie Portangabe (-p) und Identitätsdateien (-i) können Sie zuverlässig sichere Verbindungen zu jeder Remote-Serverumgebung herstellen. Der Übergang zur schlüsselbasierten Authentifizierung ist entscheidend für die Aufrechterhaltung eines hohen Sicherheitsniveaus und sollte, wann immer möglich, Passworteinlogs vorgezogen werden. Sobald die Verbindung hergestellt ist, haben Sie vollen Kommandozeilenzugriff, um Ihre Remote-Maschine zu verwalten.