Wichtige SSH-Befehle und ihre ErklÀrungen

1. SSH-Verbindung zu einem entfernten Host herstellen

ssh benutzername@remote_host
  • ErklĂ€rung: Dieser Befehl baut eine SSH-Verbindung zu einem entfernten Host (Server) auf. Der Platzhalter benutzername steht fĂŒr den Benutzernamen auf dem entfernten System und remote_host fĂŒr die IP-Adresse oder den DNS-Namen des Hosts. Beispiel: ssh root@192.168.1.1 stellt eine Verbindung als Benutzer “root” zum Host mit der IP-Adresse 192.168.1.1 her.

2. Verbindung mit einem benutzerdefinierten Port herstellen

ssh -p portnummer benutzername@remote_host
  • ErklĂ€rung: SSH verwendet standardmĂ€ĂŸig Port 22. Falls der SSH-Server auf einem anderen Port lĂ€uft, kann der Parameter -p verwendet werden, um den entsprechenden Port anzugeben. Beispiel: ssh -p 2222 user@server.com verbindet sich ĂŒber Port 2222.

3. Dateien vom lokalen Rechner auf einen Remote-Host kopieren

scp datei.txt benutzername@remote_host:/ziel/pfad/
  • ErklĂ€rung: Der scp-Befehl (Secure Copy) ermöglicht das sichere Kopieren von Dateien ĂŒber SSH. Hier wird die Datei datei.txt an den Pfad /ziel/pfad/ auf dem Remote-Host kopiert. Beispiel: scp meinDokument.txt user@192.168.1.1:/home/user/

4. Dateien von einem Remote-Host auf den lokalen Rechner kopieren

scp benutzername@remote_host:/pfad/zur/datei.txt /lokaler/pfad/
  • ErklĂ€rung: Dieser Befehl kopiert eine Datei vom Remote-Host auf das lokale System. Der Quellpfad wird auf dem Remote-Host angegeben, der Zielpfad auf dem lokalen Rechner. Beispiel: scp user@192.168.1.1:/home/user/file.txt ./

5. Verzeichnisse rekursiv kopieren

scp -r verzeichnis benutzername@remote_host:/ziel/pfad/
  • ErklĂ€rung: Mit dem Flag -r (rekursiv) können ganze Verzeichnisse kopiert werden, inklusive Unterverzeichnisse und Dateien. Beispiel: scp -r backup user@192.168.1.1:/home/user/

6. Dateien ĂŒber rsync synchronisieren

rsync -avz /lokaler/pfad/ benutzername@remote_host:/ziel/pfad/
  • ErklĂ€rung: rsync synchronisiert Dateien effizient zwischen lokalem Rechner und Remote-Host. Die Flags:

    • -a: Archivmodus (kopiert rekursiv, bewahrt Berechtigungen, Zeitstempel, usw.)

    • -v : Zeigt den Fortschritt (verbose)

    • -z : Komprimiert die Daten wĂ€hrend der Übertragung Beispiel: rsync -avz /data/ user@192.168.1.1:/backup/

7. SSH-SchlĂŒssel erzeugen (Key-Pair)

ssh-keygen -t rsa -b 4096
  • ErklĂ€rung: Dieser Befehl generiert ein SSH-SchlĂŒsselpaar zur passwortlosen Authentifizierung.

    • -t rsa: SchĂŒsseltyp RSA

    • -b 4096: SchlĂŒssellĂ€nge von 4096 Bit Nach der Eingabe wird der private und der öffentliche SchlĂŒssel erstellt.

8. SSH-SchlĂŒssel auf den Remote-Host kopieren

ssh-copy-id benutzername@remote_host
  • ErklĂ€rung: Der öffentliche SchlĂŒssel wird in die Datei ~/.ssh/authorized_keys des Remote-Hosts eingefĂŒgt, um eine passwortlose Verbindung zu ermöglichen.

9. SSH-Verbindung offen halten (KeepAlive)

ssh -o ServerAliveInterval=60 benutzername@remote_host
  • ErklĂ€rung: Der Parameter -o ServerAliveInterval=60 sorgt dafĂŒr, dass alle 60 Sekunden ein Signal an den Server gesendet wird, um die Verbindung offen zu halten.

10. Hintergrundprozesse ĂŒber SSH starten

ssh -f benutzername@remote_host "kommando &"
  • ErklĂ€rung: Das Flag -f startet die SSH-Verbindung im Hintergrund. Ein Kommando wie sleep 10 & wird im Hintergrund auf dem Remote-Host ausgefĂŒhrt. Beispiel: ssh -f user@192.168.1.1 "nohup ./backup.sh &"

11. Portweiterleitung (Port Forwarding)

ssh -L lokaler_port:ziel_host:ziel_port benutzername@remote_host
  • ErklĂ€rung: Der -L-Parameter leitet Verbindungen von einem lokalen Port zu einem Ziel-Host ĂŒber den SSH-Server weiter. Beispiel: ssh -L 8080:localhost:80 user@192.168.1.1 leitet Port 8080 lokal auf Port 80 des Remote-Hosts weiter.

12. Dynamisches Port Forwarding (SSH-Tunneling)

ssh -D lokaler_port benutzername@remote_host
  • ErklĂ€rung: Mit -D wird ein dynamischer SOCKS-Proxy eingerichtet. Alle Verbindungen, die ĂŒber den lokalen Port laufen, werden verschlĂŒsselt ĂŒber den SSH-Tunnel geleitet. Dies ist nĂŒtzlich fĂŒr sichere Internetverbindungen oder das Umgehen von Firewalls. Beispiel: ssh -D 8080 user@192.168.1.1 erstellt einen SOCKS-Proxy auf Port 8080.

13. SSH-Verbindung testen

ssh -v benutzername@remote_host
  • ErklĂ€rung: Mit der Option -v (verbose) wird eine detaillierte Debug-Ausgabe wĂ€hrend des Verbindungsaufbaus angezeigt, um Fehler zu analysieren.

14. SSH-Sitzung beenden

  • ErklĂ€rung: Um die SSH-Sitzung zu beenden, kann entweder der Befehl exit eingegeben oder die Tastenkombination Ctrl + D verwendet werden.

SSHLinux