ssh

An Servern anmelden, Befehle ausführen und verschlüsselte Tunnel aufbauen.

Vor der Ausführung

Prüfen Sie beim ersten Zugriff den Hostschlüssel-Fingerabdruck über einen vertrauenswürdigen Kanal. -N aktiviert nur Weiterleitungen; Ctrl+C beendet diese Vordergrundtunnel. -L löst das Ziel auf dem SSH-Server auf und verbindet von dort; -R verbindet zum Ziel von diesem Rechner aus. Remote-Listener unterliegen der Weiterleitungsrichtlinie des Servers, die Loopback-Bindung zusätzlich GatewayPorts. ExitOnForwardFailure prüft die anfängliche Einrichtung, nicht jede spätere Zielverbindung. -D ist SOCKS, kein VPN: Konfigurieren Sie den Client gesondert, einschließlich Remote-DNS, soweit unterstützt. Entfernen Sie Adressen, Benutzernamen und Schlüsselpfade aus Diagnoseprotokollen vor dem Teilen.

Beispiele

Anmelden; Hostschlüsselprüfung und Authentifizierung werden abgefragt.

ssh alice@server.example.com

Port 2222 und eine Schlüsseldatei wählen; IdentitiesOnly begrenzt angebotene Identitäten.

ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes alice@server.example.com

Mit ProxyJump (-J) über einen Sprungserver zum Ziel verbinden.

ssh -J alice@bastion.example.com alice@internal.example.com

Lokale Weiterleitung: Port 15432 erreicht die Datenbank über den Server.

ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 -o ExitOnForwardFailure=yes alice@server.example.com

Remote-Weiterleitung: Server-Loopback-Port 18080 erreicht Port 8080 dieses Rechners.

ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -o ExitOnForwardFailure=yes alice@server.example.com

Einen lokalen SOCKS-Listener auf 127.0.0.1:1080 erstellen.

ssh -N -D 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Ausführliche Diagnose mit zehn Sekunden Zeitlimit für den Verbindungsaufbau.

ssh -vvv -o ConnectTimeout=10 alice@server.example.com

Über zwei Sprungserver in Reihenfolge verbinden. Der Client authentifiziert jeden Hop; alle Hostschlüssel prüfen.

ssh -J alice@jump1.example.com,alice@jump2.example.com alice@target.example.com

Wirksame Clienteinstellungen nach Host- und Include-Abgleich anzeigen. Die Ausgabe kann vertrauliche Verbindungsdaten enthalten.

ssh -G alice@server.example.com

Einen entfernten Befehl ausführen und lokal zurückkehren. Den Befehl für die entfernte Shell korrekt zitieren.

ssh alice@server.example.com 'uptime'

Verbindung erstellen, wiederverwenden, prüfen und den Master beenden. ~/.ssh schützen; beim Beenden werden abhängige Sitzungen geschlossen.

ssh -M -S ~/.ssh/securepipes-%C -o ControlPersist=10m -fN alice@server.example.com
ssh -S ~/.ssh/securepipes-%C alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O check alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O exit alice@server.example.com

Abfragekategorien, Schlüsselalgorithmen und Chiffren anzeigen. Client-Unterstützung garantiert keine Annahme durch den Server.

ssh -Q help
ssh -Q key
ssh -Q cipher

known_hosts-Eintrag und Fingerabdruck prüfen. Erst nach unabhängiger Bestätigung einer Schlüsseländerung den korrekten Host- und Porteintrag entfernen.

ssh-keygen -F server.example.com -l
ssh-keygen -R server.example.com

Für Skripte nichtinteraktiven Modus und Verbindungszeitlimit verwenden. Authentifizierung und Hostvertrauen vorher einrichten; erforderliche Eingaben führen zum Fehler.

ssh -o BatchMode=yes -o ConnectTimeout=10 alice@server.example.com

Mit ProxyCommand und -W über einen Sprungserver verbinden. ProxyJump ist meist einfacher; beide Hostschlüssel prüfen.

ssh -o 'ProxyCommand=ssh -W %h:%p alice@bastion.example.com' alice@target.example.com

SOCKS auf der Loopback-Adresse des Servers öffnen. Andere lokale Benutzer und Prozesse können darauf zugreifen; der Server muss Weiterleitung erlauben.

ssh -N -R 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Verschlüsselte SSH-Keepalives und Verbindungszeitlimit einstellen. Sie erkennen fehlende Antworten, garantieren aber keine Wiederverbindung.

ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ConnectTimeout=10 alice@server.example.com

Optionen und Beispiele

-p portHäufig

Stellen Sie eine Verbindung zum angegebenen Server-Port her.

Beispiel
ssh -p 2222 alice@server.example.com
-i identity_fileHäufig

Verwenden Sie die angegebene private Schlüsseldatei. Beschütze es und teile es niemals.

Beispiel
ssh -i ~/.ssh/id_ed25519 alice@server.example.com
-l login_name

Geben Sie den Remote-Anmeldenamen an.

Beispiel
ssh -l alice server.example.com
-J destinationHäufig

Stellen Sie eine Verbindung über einen SSH-Jump-Host her.

Beispiel
ssh -J alice@bastion.example.com alice@internal.example.com
-L address:port:host:hostportHäufig

Leiten Sie einen lokalen Überwachungsport an ein Ziel weiter, das vom SSH-Server aus erreicht wird.

Beispiel
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 alice@server.example.com
-R address:port:host:hostportHäufig

Leiten Sie einen Remote-Listening-Port an ein Ziel weiter, das vom lokalen Computer aus erreicht wird. Die Serverrichtlinie kann die Bindung einschränken.

Beispiel
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 alice@server.example.com
-D address:portHäufig

Erstellen Sie einen lokalen SOCKS-Listener. Konfigurieren Sie jeden Client für die Verwendung. Dies ist kein VPN.

Beispiel
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-NHäufig

Führen Sie keinen Remote-Befehl aus. Nur für die Weiterleitung nützlich.

Beispiel
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-o option=valueHäufig

Legen Sie für diesen Aufruf eine ssh_config-Option fest. Eine erfolgreiche Weiterleitungseinrichtung garantiert nicht, dass ein Ziel später erreichbar ist.

Beispiel
ssh -o ExitOnForwardFailure=yes alice@server.example.com
-F configfile

Verwenden Sie eine alternative Client-Konfigurationsdatei.

Beispiel
ssh -F ~/.ssh/lab_config alice@server.example.com
-v / -vvvHäufig

Diagnoseausgabe drucken; Mehr V-Zeichen erhöhen die Detailgenauigkeit. Protokolle können vertrauliche Verbindungsinformationen enthalten.

Beispiel
ssh -vvv alice@server.example.com
-4 / -6

Verwenden Sie nur IPv4 bzw. nur IPv6.

Beispiel
ssh -4 alice@server.example.com
-C

Komprimierung anfordern. Der bereits komprimierte Datenverkehr wird dadurch möglicherweise nicht verbessert.

Beispiel
ssh -C alice@server.example.com
-T / -t

Deaktivieren bzw. fordern Sie ein Pseudo-Terminal an.

Beispiel
ssh -t alice@server.example.com
-A

Agentenweiterleitung aktivieren. Ein kompromittierter Remote-Host kann Signaturen vom weitergeleiteten Agenten anfordern; Nur mit vertrauenswürdigen Hosts verwenden.

Beispiel
ssh -A alice@server.example.com
-G

Drucken Sie die effektive Clientkonfiguration aus, nachdem Sie die Host- und Match-Regeln ausgewertet haben.

Beispiel
ssh -G lab
-V

Drucken Sie die installierte SSH-Client-Version aus.

Beispiel
ssh -V

Maßgebliche Quellen

Geprüft am 27. Oktober 2026