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 |