Zum Inhalt

SSH Cheatsheet


SSH-Verbindung

Befehl Beschreibung
ssh user@host Verbindung zu Host herstellen
ssh user@192.168.1.100 Verbindung per IP
ssh -p 2222 user@host Verbindung mit spezifischem Port
ssh user@host 'ls -la' Remote-Befehl ausführen
ssh -v user@host Verbose-Modus
ssh -vvv user@host Sehr detailliertes Debugging

SSH-Server prüfen

Befehl Beschreibung
systemctl status ssh SSH-Status (Debian/Ubuntu)
systemctl status sshd SSH-Status (RHEL/Fedora)
journalctl -u ssh SSH-Logs anzeigen

Host Key Management

Befehl Beschreibung
ssh-keyscan host Host-Key anzeigen
ssh-keygen -l -f ~/.ssh/known_hosts Fingerprint anzeigen
ssh-keygen -R host Host aus known_hosts entfernen
ssh-keyscan host >> ~/.ssh/known_hosts Host manuell hinzufügen

SSH-Config (\~/.ssh/config)

Direktive Beschreibung
Host webserver Alias definieren
HostName example.com Zieladresse
User deploy Standardbenutzer
Port 2222 Standardport
IdentityFile ~/.ssh/key Spezifischer Schlüssel
ProxyJump bastion Jumphost definieren
ServerAliveInterval 60 Keepalive-Intervall

Beispiel:

Host webserver
    HostName web.example.com
    User deploy
    Port 2222
    IdentityFile ~/.ssh/webserver_key


SSH-Key erstellen

Befehl Beschreibung
ssh-keygen -t ed25519 -a 100 Empfohlener Schlüssel
ssh-keygen -t rsa -b 4096 -a 100 RSA (veraltet)

Public Key verteilen

Befehl Beschreibung
ssh-copy-id user@host Public Key automatisch kopieren
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host Spezifischen Key kopieren
cat ~/.ssh/id_ed25519.pub | ssh user@host 'cat >> ~/.ssh/authorized_keys' Manuell hinzufügen

Jumphost / ProxyJump

Befehl Beschreibung
ssh -J jump.example.com user@target Verbindung über Jumphost

SCP -- Secure Copy

Befehl Beschreibung
scp file.txt user@host:/path/ Lokal → Remote
scp user@host:/path/file.txt ./ Remote → Lokal
scp -r folder user@host:/path/ Verzeichnis rekursiv
scp user1@h1:/file user2@h2:/dest/ Remote → Remote