Si lo hago:
ssh -J jumphost.example.com target.example.com
Termino inmediatamente conectado a 'target'.
Si uso este archivo de configuración ssh, usando la nueva configuración de salto ssh-7.3:
Host jump 10.1.*, targets*, *.example.com
HostName jumphost.example.com
IdentitiesOnly yes
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Terminé conectado a 'jumphost' no 'target'
El material del llavero es para Mac, lo he probado sin él y no hace ninguna diferencia, pero pensé que lo dejaría por si acaso.
-J
esProxyJump
noHostName
.Respuestas:
Termina conectado al host de salto porque su configuración dice explícitamente que ignore el nombre de host que especificó e inicie sesión en el host de salto.
HostName
anula el nombre de host especificado en la línea de comando.Si está intentando utilizar automáticamente un host de salto sin tener que especificarlo en la línea de comando ssh, la opción correcta del archivo de configuración es
ProxyJump
. Por ejemplo:Ahora puedes correr
ssh target.example.com
y pasarás por el jumphost.fuente
El problema es que la definición de Host captura tanto jumphost.example.com como target.example.com como alias, luego establece HostName en jumphost.example.com en ambos casos.
Sugeriría que los alias que siguen al comando Host NO sean nombres de dominio completamente calificados, y luego cree una entrada de Host para cada
fuente