SSH-Befehle: Spickzettel für Schlüssel und Tunnel

SSH-Befehle zum Kopieren: verbinden, ssh-keygen und ssh-copy-id, SSH-Agent, Tunnel mit -L, -R und -D, Jump-Host, scp, rsync und Fehlersuche mit ssh -v.

53 Einträge

Verbinden

ssh user@serverVerbindung aufbauen
ssh -p 2222 user@serverAnderen Port verwenden
ssh -i ~/.ssh/id_ed25519 user@serverBestimmten Schlüssel verwenden
ssh user@server 'df -h'Einzelnen Befehl auf dem Server ausführen
ssh -t user@server 'sudo htop'Terminal erzwingen, nötig für interaktive Programme
ssh -J sprung@bastion user@internÜber einen Sprungserver (Jump-Host) verbinden
ssh -o ServerAliveInterval=60 user@serverAlle 60 Sekunden ein Lebenszeichen senden, damit die Verbindung nicht abbricht
ssh -o ConnectTimeout=5 user@serverNach 5 Sekunden ohne Antwort aufgeben
ssh -X user@serverGrafische X11-Programme weiterleiten
ssh -A user@serverAgent weiterleiten; nur bei vertrauenswürdigen Servern, lieber -J verwenden
~.Hängende Verbindung beenden: nach Enter Tilde und Punkt tippen; ~? zeigt alle Escape-Befehle

Tunnel und Weiterleitungen

ssh -L 8080:localhost:80 user@serverSSH Tunnel lokal: localhost:8080 zeigt auf Port 80 des Servers
ssh -L 5432:db.intern:5432 user@bastionDatenbank hinter dem Server über localhost:5432 erreichen
ssh -R 9000:localhost:3000 user@serverRemote-Weiterleitung: Port 9000 auf dem Server zeigt auf Ihren lokalen Port 3000
ssh -D 1080 user@serverSOCKS-Proxy auf localhost:1080, Datenverkehr läuft über den Server
ssh -N -f -L 8080:localhost:80 user@serverTunnel ohne Shell im Hintergrund starten

Schlüssel

ssh-keygen -t ed25519 -C "name@rechner"Neuen Ed25519-Schlüssel mit Kommentar erzeugen
ssh-keygen -t rsa -b 4096RSA-Schlüssel mit 4096 Bit für ältere Systeme
ssh-keygen -t ed25519-skSchlüssel, der an einen FIDO2-Sicherheitsschlüssel gebunden ist (ab OpenSSH 8.2)
ssh-keygen -p -f ~/.ssh/id_ed25519Passphrase ändern oder hinzufügen
ssh-keygen -l -f ~/.ssh/id_ed25519.pubFingerprint eines Schlüssels anzeigen
ssh-keygen -y -f ~/.ssh/id_ed25519 > ~/.ssh/id_ed25519.pubÖffentlichen Schlüssel aus dem privaten wiederherstellen
ssh-keygen -R serverAlten Eintrag des Servers aus known_hosts entfernen
ssh-keygen -F serverEintrag des Servers in known_hosts suchen
ssh-copy-id user@serverÖffentlichen Schlüssel in authorized_keys des Servers eintragen
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@serverBestimmten Schlüssel übertragen
cat ~/.ssh/id_ed25519.pub | ssh user@server 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'Schlüssel ohne ssh-copy-id übertragen
ssh-keyscan -t ed25519 serverHost-Schlüssel eines Servers abrufen; Fingerprint vor dem Eintragen auf anderem Weg prüfen

SSH-Agent

eval "$(ssh-agent -s)"Agent in der aktuellen Shell starten
ssh-add ~/.ssh/id_ed25519Schlüssel zum Agent hinzufügen, Passphrase nur einmal eingeben
ssh-add -t 1h ~/.ssh/id_ed25519Schlüssel nur für eine Stunde im Agent halten
ssh-add -lGeladene Schlüssel anzeigen
ssh-add -DAlle Schlüssel aus dem Agent entfernen
ssh-add --apple-use-keychain ~/.ssh/id_ed25519macOS: Passphrase im Schlüsselbund speichern (früher -K)
Get-Service ssh-agent | Set-Service -StartupType AutomaticWindows (PowerShell als Administrator): OpenSSH-Agent dauerhaft aktivieren, danach Start-Service ssh-agent

Dateien übertragen

scp datei.txt user@server:/tmp/Datei zum Server kopieren
scp user@server:/var/log/syslog .Datei vom Server holen
scp -r ordner user@server:~/Ordner rekursiv kopieren
scp -P 2222 datei.txt user@server:scp mit anderem Port (großes -P)
rsync -avz -e ssh ordner/ user@server:/ziel/Ordner abgleichen, nur Änderungen werden übertragen
rsync -avz --delete -e 'ssh -p 2222' ordner/ user@server:/ziel/Spiegeln: im Ziel löscht rsync, was in der Quelle fehlt
sftp user@serverInteraktive Dateiübertragung mit put, get, ls
sshfs user@server:/pfad ~/mntServer-Ordner lokal einhängen; aushängen mit fusermount -u ~/mnt (Linux)

Konfiguration und Fehlersuche

ssh -v user@serverAusführliche Ausgabe; -vvv für noch mehr Details
ssh -G serverEffektive Einstellungen für einen Host aus allen Konfigurationsdateien anzeigen
Host web HostName 203.0.113.10 User deploy IdentityFile ~/.ssh/id_ed25519Eintrag in ~/.ssh/config: danach reicht ssh web
ControlMaster auto ControlPath ~/.ssh/cm-%r@%h:%p ControlPersist 10mVerbindungen wiederverwenden, weitere Sitzungen starten sofort
ssh -O exit webGeteilte Master-Verbindung beenden
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keysRichtige Rechte; zu offene Rechte führen zu „Permission denied“
sudo sshd -tKonfiguration des SSH-Servers vor dem Neustart prüfen
sudo systemctl restart sshSSH-Server neu starten (Debian, Ubuntu); unter RHEL und Fedora heißt der Dienst sshd
journalctl -u ssh -fAnmeldeversuche live im Protokoll verfolgen
ssh -Q kexVom Client unterstützte Verfahren auflisten; auch -Q cipher, -Q key, -Q mac

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

SSH-Befehle sicher einsetzen

Diese Übersicht sammelt 53 SSH-Befehle für Verbindungen, SSH Tunnel, Schlüssel mit ssh-keygen und ssh-copy-id, den SSH-Agent, Dateiübertragung mit scp, rsync und sftp sowie Konfiguration und Fehlersuche. Sie ist als deutsches SSH Cheat Sheet für OpenSSH gedacht, das unter Linux, macOS und Windows 10/11 mitgeliefert wird.

Für die Anmeldung ohne Passwort erzeugen Sie zuerst ein Schlüsselpaar mit ssh-keygen -t ed25519 und übertragen den öffentlichen Teil mit ssh-copy-id. Der private Schlüssel bleibt auf Ihrem Rechner und sollte eine Passphrase haben; der SSH-Agent merkt sie sich für die Sitzung. Tunnel mit -L, -R und -D leiten Ports durch die verschlüsselte Verbindung, etwa um eine Datenbank zu erreichen, die nur intern erreichbar ist.

Bei Problemen ist ssh -v der erste Schritt: Die Ausgabe zeigt, welche Schlüssel angeboten werden und woran die Anmeldung scheitert. Meldet SSH eine geänderte Host-Identität, prüfen Sie den Grund, bevor Sie den Eintrag mit ssh-keygen -R löschen. Häufige Verbindungen tragen Sie mit dem SSH-Config-Generator ein; einen vorhandenen Schlüssel prüft SSH-Schlüssel erklärt.

Anleitung: SSH-Befehle in 4 Schritten

  1. Suchen Sie nach einer Aufgabe wie „Tunnel“, „kopieren“ oder „Fingerprint“ oder wählen Sie eine Gruppe.
  2. Kopieren Sie den Befehl mit „Kopieren“.
  3. Ersetzen Sie user, server und Pfade durch Ihre Werte und führen Sie den Befehl aus.
  4. Tragen Sie häufige Verbindungen danach mit dem SSH-Config-Generator in ~/.ssh/config ein.

Typische Anwendungsfälle

  • Einen Server erstmals mit einem Ed25519-Schlüssel statt Passwort anmelden.
  • Eine Datenbank hinter einer Firewall über einen lokalen Tunnel erreichen.
  • Dateien zwischen Rechnern mit scp oder rsync übertragen.
  • Verbindungsprobleme mit ssh -v und ssh -G eingrenzen.
Fragen

Häufige Fragen

Wie richte ich die Anmeldung per Schlüssel ein?

Schlüssel erzeugen mit ssh-keygen -t ed25519, dann ssh-copy-id user@server ausführen. Danach meldet ssh user@server Sie mit dem Schlüssel an. Erst wenn das klappt, sollten Sie die Passwort-Anmeldung auf dem Server abschalten.

Was ist der Unterschied zwischen -L und -R?

-L öffnet einen Port auf Ihrem Rechner, der auf ein Ziel aus Sicht des Servers zeigt. -R öffnet einen Port auf dem Server, der auf ein Ziel aus Ihrer Sicht zeigt, etwa um einen lokalen Entwicklungsserver kurz freizugeben.

Was bedeutet „REMOTE HOST IDENTIFICATION HAS CHANGED“?

Der Server meldet einen anderen Host-Schlüssel als beim letzten Mal. Das passiert nach einer Neuinstallation, kann aber auch auf einen Angriff hindeuten. Prüfen Sie den neuen Fingerprint beim Betreiber und entfernen Sie den alten Eintrag erst dann mit ssh-keygen -R server.

Warum fragt SSH trotz Schlüssel nach dem Passwort?

Häufige Gründe: zu offene Rechte auf ~/.ssh oder authorized_keys auf dem Server, der falsche Schlüssel wird angeboten oder der Benutzername stimmt nicht. ssh -v zeigt, welche Schlüssel probiert werden; im Server-Log steht oft der genaue Grund.

Ist scp veraltet?

Das alte SCP-Protokoll gilt als veraltet. Seit OpenSSH 9.0 nutzt der Befehl scp intern standardmäßig das SFTP-Protokoll; mit -O lässt sich das alte Protokoll für alte Server erzwingen. Für große oder wiederholte Kopien ist rsync meist besser.

Welchen Schlüsseltyp soll ich nehmen?

Für neue Schlüssel ist ssh-keygen -t ed25519 die übliche Empfehlung: kurz, schnell und sicher. RSA mit mindestens 3072 Bit bleibt eine Alternative für ältere Systeme, die Ed25519 nicht kennen.

Weitere Werkzeuge

Das könnte auch helfen

Alle 558 Werkzeuge