Ich versuche, einige universelle Optionen für das Bouncen von ssh-Verbindungen einzurichten. Hier ist meine ~/.ssh/config
Datei, abgekürzt:
Host *%via
ProxyCommand ssh gateway -W $(echo %h | cut -d%% -f1) %p
Host gateway
HostName gateway.example.com
User username
ForwardAgent yes
IdentityFile keypathg
Host target
User username
HostName target.example.com
IdentityFile keypatht
Wenn ich *%via
die Host
Aliase benutze, erhalte ich:
% ssh -vvv target%via
OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
debug1: Reading configuration data /Users/myuser/.ssh/config
debug1: /Users/myuser/.ssh/config line 5: Applying options for *
debug1: /Users/myuser/.ssh/config line 12: Applying options for *%via
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "/Users/myuser/.ssh/tmp/target%via_22_myuser" does not exist
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec ssh -A gateway -W $(echo target%via | cut -d% -f1):22
debug1: permanently_drop_suid: 501
debug1: identity file /Users/myuser/.ssh/id_rsa type -1
debug1: identity file /Users/myuser/.ssh/id_rsa-cert type -1
debug1: identity file /Users/myuser/.ssh/id_dsa type -1
debug1: identity file /Users/myuser/.ssh/id_dsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
Allerdings wenn ich das nutze
% ssh target.example.com%via
Ich habe den Zielserver getroffen, aber als falscher Benutzer und ohne Pubkey-Authentifizierung.
Ich denke, meine Frage an dieser Stelle ist, ob diese Methode des Bouncings, wenn sie verwendet wird ForwardAgent
, meine gesamte ssh-Konfiguration / -Umgebung durchläuft oder nur Schlüssel. Wenn nur Schlüssel, können die ersteren in irgendeiner Weise verwendet werden?
Meine ssh-Version ist 5.9v1, das Gateway ist 5.9v1 und das Ziel ist 5.3p1. Ich glaube, -W
wurde in 5.4 eingeführt, aber das sollte für die letzte Box in der Schlange keine Rolle spielen? Die Nutzung der älteren Schule nc
scheint nicht anders zu sein.
Ich habe überprüft, dass ich manuell zu jedem Feld in der Zeile ssh kann. Dadurch zeigt so , dass Host - Name Alias - Informationen nicht übergeben werden, als wenn sie auf Gateway, das kann ich nicht , ssh target
aber ich kann ssh target.example.com
. Dies funktioniert mit pubkey auth. Gateway und Ziel haben übrigens den gleichen Benutzernamen, weshalb dies funktioniert, wenn keine Konfiguration gepusht wird.
Wenn ForwardAgent
oder eine ähnliche Konfiguration diese Informationen nicht pushen kann, wie kann sie am besten umgangen werden, indem eine .ssh / config auf dem Gateway mit diesen Informationen gespeichert wird?