Secure Shell (SSH) ist ein unverzichtbares Werkzeug für Systemadministratoren, Entwickler und alle, die Remote-Server verwalten. Mit SSH können Sie sich sicher mit einem entfernten Rechner verbinden, Befehle ausführen, Dateien übertragen und Verwaltungsaufgaben durchführen. In diesem Artikel stellen wir Ihnen 10 gängige SSH-Befehle vor, die Sie heute verwenden sollten.

1. Verbinden mit einem Remote-Server

Der grundlegendste SSH-Befehl wird verwendet, um eine Verbindung zu einem entfernten Server herzustellen:

ssh user@remote_host

Ersetzen Sie user durch Ihren Benutzernamen und remote_host durch die IP-Adresse oder den Domänennamen des Servers.

2. Verbinden mit einem bestimmten Port

SSH verwendet standardmäßig Port 22, aber Sie können bei Bedarf auch einen anderen Port angeben:

ssh -p 2222 user@remote_host

Dies ist nützlich, wenn der SSH-Server so konfiguriert ist, dass er über einen nicht standardmäßigen Port läuft.

3. SSH-Schlüssel für die Authentifizierung verwenden

Statt mit einem Passwort können Sie sich auch mit einem SSH-Schlüssel authentifizieren:

ssh -i /pfad/zu/privater_schlüssel user@remote_host

Einen SSH-Schlüssel können Sie wie folgt generieren:

ssh-keygen -t rsa -b 4096

Dadurch wird die Sicherheit erhöht und die Notwendigkeit, jedes Mal ein Passwort einzugeben, entfällt.

4. Ausführen von Befehlen auf einem entfernten Server

Sie können einen einzelnen Befehl auf einem entfernten Server ausführen, ohne eine interaktive Sitzung zu eröffnen:

ssh user@remote_host "ls -l /var/www/html"

Dies ist nützlich für schnelle administrative Aufgaben.

5. Kopieren von Dateien mit SCP

Mit dem Secure Copy Protocol (SCP) können Sie Dateien zwischen lokalen und entfernten Rechnern übertragen:

scp file.txt user@remote_host:/remote/directory/

Um ein Verzeichnis rekursiv zu kopieren:

scp -r /lokal/Verzeichnis user@remote_host:/remote/Verzeichnis/

6. Kopieren von Dateien mit rsync

Eine Alternative zu SCP ist rsync, das für die Synchronisierung von Dateien effizienter ist:

rsync -avz /local/directory user@remote_host:/remote/directory

Es minimiert die Datenübertragung, indem es nur die Unterschiede zwischen den Dateien überträgt.

7. Einrichten von SSH-Tunneling

Mit SSH-Tunneling können Sie den Netzwerkverkehr sicher weiterleiten. So erstellen Sie einen lokalen Tunnel:

ssh -L 8080:localhost:80 user@remote_host

Dadurch wird der Datenverkehr von Ihrem lokalen Port 8080 an den Port 80 des entfernten Servers weitergeleitet.

8. Umgekehrtes SSH-Tunneling

Mit Reverse Tunneling kann ein entfernter Server auf Ihren lokalen Rechner zugreifen:

ssh -R 9090:localhost:22 user@remote_host

Dies ist nützlich für den Zugriff auf ein System hinter einer Firewall.

9. Multiplexing von SSH-Verbindungen

Wenn Sie sich häufig mit demselben Server verbinden, können Sie SSH beschleunigen, indem Sie Multiplexing aktivieren:

ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host

Dadurch wird der Authentifizierungsaufwand für mehrere SSH-Sitzungen reduziert.

10. Beenden einer SSH-Sitzung

Um eine SSH-Sitzung zu beenden, geben Sie einfach ein:

exit

Oder verwenden Sie die Escape-Sequenz:

~.

Dies ist hilfreich, wenn die Verbindung nicht mehr reagiert.