Sto tentando di impostare alcune opzioni universali per far rimbalzare le connessioni ssh. Ecco il mio ~/.ssh/config
file, abbreviato:
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
Quando utilizzo *%via
utilizzando gli Host
alias, ottengo:
% 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
Tuttavia, se lo utilizzo
% ssh target.example.com%via
Ho colpito il server di destinazione, ma come utente sbagliato e senza autenticazione pubkey.
Penso che la mia domanda, a questo punto, sia questo metodo di rimbalzo, quando lo utilizzo ForwardAgent
, passa attraverso il mio config / ambiente ssh intero, o solo le chiavi. Se solo chiavi, il primo può essere utilizzato in qualche modo?
La mia versione ssh è 5.9v1, il gateway è 5.9v1 e la destinazione è 5.3p1. Credo che sia -W
stato introdotto in 5.4, ma non dovrebbe importare per l'ultima casella in linea? l'utilizzo della scuola superiore nc
non sembra diverso.
Ho verificato che posso ssh manualmente per ogni casella della riga. In questo modo si indica che le informazioni sull'alias del nome host non vengono passate, come quando sul gateway non posso ssh target
ma posso ssh target.example.com
. Funziona con pubkey auth. il gateway e la destinazione hanno per inciso lo stesso nome utente, motivo per cui funziona se non viene inviata alcuna configurazione.
Se ForwardAgent
o una configurazione simile non è in grado di inviare queste informazioni, qual è il modo più sicuro per aggirarle, mantenendo un .ssh / config sul gateway con queste informazioni?