Estoy tratando de configurar algunas opciones universales para rebotar conexiones ssh. Aquí está mi ~/.ssh/config
archivo, abreviado:
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
Cuando utilizo *%via
los Host
alias, obtengo:
% 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
Sin embargo, si utilizo
% ssh target.example.com%via
Llegué al servidor de destino, pero como usuario incorrecto y sin autenticación de clave pública.
Creo que mi pregunta, en este punto, es si este método de rebote, cuando lo utilizo ForwardAgent
, pasa a través de toda mi configuración / entorno ssh, o solo las teclas. Si solo son claves, ¿se puede utilizar la primera de alguna manera?
Mi versión ssh es 5.9v1, la puerta de enlace es 5.9v1 y el objetivo es 5.3p1. Creo que -W
se introdujo en 5.4, pero eso no debería importar para el cuadro final en línea. La utilización de la escuela anterior nc
no parece diferente.
He verificado que puedo ssh manualmente a cada cuadro en la línea. Hacerlo indica que no se pasa la información del alias del nombre de host, ya que cuando estoy en la puerta de enlace, no puedo ssh target
pero puedo ssh target.example.com
. Esto funciona con pubkey auth. La puerta de enlace y el destino tienen el mismo nombre de usuario, por lo que esto funciona si no se empuja ninguna configuración.
Si ForwardAgent
una configuración similar no puede enviar esta información, ¿cuál es la forma más segura de evitarla, manteniendo un .ssh / config en la puerta de enlace con esta información?