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.
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.
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.
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.
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.
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/
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.
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.
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.
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.
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.