20 gängige SSH-Befehle, die Sie heute verwenden sollten
SSH (Secure Shell) ist ein weit verbreitetes Protokoll für den sicheren Zugriff auf entfernte Server. Es ermöglicht Ihnen die Verwaltung und Interaktion mit entfernten Systemen über eine verschlüsselte Verbindung. Die Beherrschung grundlegender SSH-Befehle kann Ihre Produktivität erheblich steigern und die Verwaltung entfernter Server erleichtern. Im Folgenden finden Sie 20 gängige SSH-Befehle, die jeder Systemadministrator, Entwickler oder jeder, der mit Servern arbeitet, kennen sollte.
1. Grundlegende SSH-Verbindung
Dieser Befehl wird verwendet, um eine Verbindung zu einem Remote-Server über SSH herzustellen.
- Ersetzen Sie username durch Ihren Benutzernamen und remote_host durch die IP-Adresse oder den Domänennamen des Servers.
Beispiel:
2. Einen Port angeben
SSH verwendet standardmäßig Port 22. Wenn Ihr Server einen anderen Port verwendet, verwenden Sie die Option -p, um den Port anzugeben.
Beispiel:
3. Kopieren von Dateien von lokal nach fern mit scp
Verwenden Sie scp (secure copy), um Dateien von Ihrem lokalen Rechner auf einen entfernten Server zu übertragen.
Beispiel:
4. Kopieren von Dateien von einem entfernten zu einem lokalen Rechner mit scp
Zum Herunterladen von Dateien von einem entfernten Server auf Ihren lokalen Rechner:
Beispiel:
5. Verzeichnisse rekursiv mit scp kopieren
Um ganze Verzeichnisse (einschließlich Unterverzeichnisse) zu kopieren, verwenden Sie die Option -r bei scp.
Beispiel:
6. Ausführen von Befehlen auf einem entfernten Server
Sie können einen Befehl auf einem Remote-Server ausführen, ohne eine interaktive SSH-Sitzung zu öffnen.
Beispiel:
7. SSH-Schlüssel-Authentifizierung verwenden
Um nicht jedes Mal ein Passwort eingeben zu müssen, können Sie die SSH-Schlüsselauthentifizierung verwenden.
- Erzeugen Sie ein SSH-Schlüsselpaar:ssh-keygen -t rsa
- Kopieren Sie den öffentlichen Schlüssel auf den entfernten Server:ssh-copy-id username@remote_host
Nachdem Sie den Schlüssel kopiert haben, können Sie sich ohne Passwort anmelden.
8. SSH-Verbindungsprotokolle prüfen
So zeigen Sie SSH-Anmeldeversuche und Verbindungsprotokolle auf dem Server an:
Dieser Befehl ist nützlich, um unautorisierte Anmeldeversuche zu überwachen.
9. SSH-Tunneling (Portweiterleitung)
Mit SSH-Tunneling können Sie den Datenverkehr von einem lokalen Port zu einem entfernten Server sicher weiterleiten.
Lokale Portweiterleitung:
Beispiel: Weiterleitung des lokalen Ports 8080 an Port 3306 auf einem entfernten Server.
Entfernte Portweiterleitung:
10. SSH auf einen entfernten Server mit einer anderen Identitätsdatei
Wenn Sie mehrere SSH-Schlüssel haben, können Sie einen bestimmten Schlüssel mit dem Flag -i angeben.
Beispiel:
11. Kopieren von Dateien mit rsync über SSH
rsync ist ein fortschrittlicheres Tool als scp zum Kopieren von Dateien und Verzeichnissen.
Beispiel:
Mit dem Flag -a bleiben die Dateiberechtigungen erhalten, -v steht für eine ausführliche Ausgabe und -z aktiviert die Komprimierung.
12. SSH-Verbindungsstatus prüfen
Um zu prüfen, ob die SSH-Verbindung zu einem entfernten Server noch aktiv ist:
Dieser Befehl prüft den Verbindungsstatus, ohne ihn zu unterbrechen.
13. Aktive SSH-Verbindungen auflisten
Um aktive SSH-Verbindungen auf einem Server aufzulisten, können Sie diesen Befehl verwenden:
Oder:
Diese Befehle zeigen an, welche Benutzer derzeit beim Server angemeldet sind.
14. Beenden einer SSH-Sitzung
Um eine SSH-Sitzung zu beenden, geben Sie einfach ein:
Oder drücken Sie Strg D.
15. Einrichten eines SOCKS-Proxys mit SSH
SSH kann als SOCKS-Proxy fungieren, so dass Sie über den SSH-Tunnel sicher im Internet surfen können.
Beispiel:
Setzen Sie dann die Proxy-Einstellungen Ihres Browsers auf localhost:8080, um den SOCKS-Proxy zu verwenden.
16. SSH-Agent-Weiterleitung
Wenn Sie Ihre lokalen SSH-Schlüssel auf einem entfernten Server verwenden möchten:
- Starten Sie den SSH-Agenten auf Ihrem lokalen Rechner:eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa - Verbinden Sie sich mit der Agentenweiterleitung:ssh -A username@remote_host
Damit können Sie mit Ihrem lokalen Schlüssel SSH vom entfernten Server zu einem anderen Server herstellen.
17. SSH-Konfigurationsdatei
Um SSH-Verbindungen zu vereinfachen, können Sie eine Konfigurationsdatei erstellen:
- Bearbeiten oder erstellen Sie ~/.ssh/config:nano ~/.ssh/config
- Fügen Sie einen Eintrag hinzu:Host myserver
Hostname beispiel.de
Benutzer user
Anschluss 2222
IdentitätsDatei ~/.ssh/id_rsa - Verbinden mit:ssh myserver
18. SSH-Version prüfen
Um zu sehen, welche Version von SSH auf Ihrem System installiert ist:
Beispiel-Ausgabe:
19. KeepAlive-Intervall einstellen, um Timeout zu verhindern
Um die SSH-Verbindung aufrechtzuerhalten und eine Zeitüberschreitung zu verhindern, fügen Sie Folgendes in ~/.ssh/config ein:
ServerAliveIntervall 60
Dies sendet alle 60 Sekunden ein Keep-Alive-Signal.
20. Verfügbaren Speicherplatz auf dem Remote-Server prüfen
Sie können df über SSH verwenden, um den Festplattenplatz auf einem entfernten Server zu überprüfen:
Beispiel:
Dieser Befehl zeigt den verfügbaren Speicherplatz in einem für Menschen lesbaren Format (-h) an.
Zusammenfassung
Diese 20 SSH-Befehle decken ein breites Spektrum an Funktionen ab, von einfachen Verbindungen und Dateiübertragungen bis hin zu fortgeschrittenen Aufgaben wie Tunneling und der Verwendung von SSH-Schlüsseln. Wenn Sie diese Befehle beherrschen, können Sie Remote-Server effizienter und sicherer verwalten. Ganz gleich, ob Sie Anwendungen bereitstellen, Dateien übertragen oder Serverprobleme beheben wollen, diese SSH-Befehle sind unverzichtbare Werkzeuge im Werkzeugkasten eines Systemadministrators.