tutorials / ssh-befehle-referenz

SSH Befehle und Techniken

Einleitung

SSH (Secure Shell) ist das Standard-Tool für sichere Remote-Verbindungen. Dieser Guide zeigt dir alle wichtigen Befehle und Techniken.

Grundlegende Verbindung

Zu einem Host verbinden

ssh [user]@[host]

SSH-Key generieren

ssh-keygen -b 4096

Erstellt ein 4096-Bit RSA-Schlüsselpaar für sichere Authentifizierung.

Befehle ausführen

Befehl ausführen und beenden

ssh [user]@[host] "command"

Führt einen einzelnen Befehl auf dem Remote-Host aus und beendet die Verbindung.

Erweiterte Funktionen

X11 Session Forwarding

ssh -X [user]@[host]

Ermöglicht das Ausführen von grafischen Anwendungen über SSH.

TCP Port Forwarding

ssh -L [local_port]:[remote_host]:[remote_port] [user]@[host]

Leitet einen lokalen Port zu einem Remote-Port weiter (Local Port Forwarding).

SOCKS5 Proxying

ssh -D 9999 [user]@[host]

Erstellt einen SOCKS5-Proxy auf Port 9999 für sichere Internetverbindungen.

Session beenden

SSH-Session beenden

exit

logout

# Oder Tastenkombination:
(Ctrl+d)

Dateitransfer mit SCP

Datei hochladen (Push)

scp [localFile] [user]@[host]:[remoteFile]

Datei herunterladen (Pull)

scp [user]@[host]:[remoteFile] .

Tipp: Für Verzeichnisse nutze die -r Option:

scp -r [localFolder] [user]@[host]:[remotePath]

SSH-Konfiguration

SSH-Config-Datei nutzen

Erstelle ~/.ssh/config für häufig genutzte Verbindungen:

Host myserver
    HostName example.com
    User admin
    Port 2222
    IdentityFile ~/.ssh/id_rsa_custom

Dann einfach verbinden mit:

ssh myserver

Sicherheits-Best Practices

Public Key statt Passwort

# Key auf Server kopieren
ssh-copy-id [user]@[host]

# Oder manuell
cat ~/.ssh/id_rsa.pub | ssh [user]@[host] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

SSH Agent nutzen

# SSH Agent starten
eval $(ssh-agent)

# Key hinzufügen
ssh-add ~/.ssh/id_rsa

Port Forwarding Beispiele

Lokalen MySQL-Zugriff via SSH-Tunnel

ssh -L 3306:localhost:3306 [user]@[host]

Jetzt kannst du lokal auf localhost:3306 zugreifen, als wäre es der Remote-Server.

Remote Desktop via SSH

ssh -L 5900:localhost:5900 [user]@[host]

Nützliche Optionen

Verbose Mode für Debugging

ssh -v [user]@[host]
# oder für mehr Details:
ssh -vvv [user]@[host]

Verbindung ohne StrictHostKeyChecking (Vorsicht!)

ssh -o StrictHostKeyChecking=no [user]@[host]

Warnung: Nur in vertrauenswürdigen Umgebungen nutzen!

Weitere Ressourcen