20 gängige SSH-Befehle, die Sie heute verwenden sollten ⋆ ALexHost SRL

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
13.12.2024

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.

ssh benutzername@remote_host
  • Ersetzen Sie username durch Ihren Benutzernamen und remote_host durch die IP-Adresse oder den Domänennamen des Servers.

Beispiel:

ssh user@example.com

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.

ssh -p port_number benutzername@remote_host

Beispiel:

ssh -p 2222 user@example.com

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.

scp lokale_datei benutzername@entfernter_host:/pfad/zum/ziel

Beispiel:

scp meineDatei.txt user@example.com:/home/user/

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:

scp benutzername@remote_host:/pfad/zu/remote_datei /pfad/zu/lokales_Ziel

Beispiel:

scp user@example.com:/home/user/remote_file.txt .

5. Verzeichnisse rekursiv mit scp kopieren

Um ganze Verzeichnisse (einschließlich Unterverzeichnisse) zu kopieren, verwenden Sie die Option -r bei scp.

scp -r /pfad/zum/lokalen_Verzeichnis username@remote_host:/pfad/zum/entfernten_Ziel

Beispiel:

scp -r mein_Ordner user@example.com:/home/user/

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.

ssh benutzername@entfernter_host ‘befehl_zum_ausführen’

Beispiel:

ssh user@example.com ‘ls -la /home/user’

7. SSH-Schlüssel-Authentifizierung verwenden

Um nicht jedes Mal ein Passwort eingeben zu müssen, können Sie die SSH-Schlüsselauthentifizierung verwenden.

  1. Erzeugen Sie ein SSH-Schlüsselpaar:
    ssh-keygen -t rsa
  2. 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:

sudo cat /var/log/auth.log | grep ‘sshd’

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:

ssh -L local_port:remote_host:remote_port benutzername@remote_host

Beispiel: Weiterleitung des lokalen Ports 8080 an Port 3306 auf einem entfernten Server.

ssh -L 8080:localhost:3306 user@example.com

Entfernte Portweiterleitung:

ssh -R remote_port:local_host:local_port username@remote_host

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.

ssh -i /pfad/zu/privater_Schlüssel username@remote_host

Beispiel:

ssh -i ~/.ssh/id_rsa user@example.com

11. Kopieren von Dateien mit rsync über SSH

rsync ist ein fortschrittlicheres Tool als scp zum Kopieren von Dateien und Verzeichnissen.

rsync -avz /pfad/zum/lokalen_Verzeichnis benutzername@remote_host:/pfad/zum/entfernten_Verzeichnis

Beispiel:

rsync -avz mein_Ordner/ user@example.com:/home/user/

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:

ssh -O check username@remote_host

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:

who

Oder:

w

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:

exit

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.

ssh -D local_port benutzername@remote_host

Beispiel:

ssh -D 8080 user@example.com

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:

  1. Starten Sie den SSH-Agenten auf Ihrem lokalen Rechner:
    eval $(ssh-agent)
    ssh-add ~/.ssh/id_rsa
  2. 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:

  1. Bearbeiten oder erstellen Sie ~/.ssh/config:
    nano ~/.ssh/config
  2. Fügen Sie einen Eintrag hinzu:
    Host myserver
    Hostname beispiel.de
    Benutzer user
    Anschluss 2222
    IdentitätsDatei ~/.ssh/id_rsa
  3. Verbinden mit:
    ssh myserver

18. SSH-Version prüfen

Um zu sehen, welche Version von SSH auf Ihrem System installiert ist:

ssh -V

Beispiel-Ausgabe:

OpenSSH_8.4p1, OpenSSL 1.1.1k 25 Mar 2021

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:

Host *
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:

ssh benutzername@remote_host ‘df -h’

Beispiel:

ssh user@example.com ‘df -h’

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.

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills