Si je fais:
ssh -J jumphost.example.com target.example.com
Je me connecte immédiatement à «cible».
Si j'utilise ce fichier de configuration ssh, en utilisant la nouvelle configuration de saut 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
Je me connecte à 'jumphost' et non à 'target'
Le trousseau est pour mac, j'ai testé sans et cela ne fait aucune différence mais je pensais le laisser au cas où.
-J
estProxyJump
et nonHostName
.Réponses:
Vous vous connectez à l'hôte de démarrage car votre configuration indique explicitement d'ignorer le nom d'hôte que vous avez spécifié et de vous connecter à l'hôte de démarrage.
HostName
remplace le nom d'hôte spécifié sur la ligne de commande.Si vous essayez d'utiliser automatiquement un hôte de saut sans avoir à le spécifier sur la ligne de commande ssh, l'option de fichier de configuration correcte est
ProxyJump
. Par exemple:Maintenant, vous pouvez simplement courir
ssh target.example.com
et vous passerez par le jumphost.la source
Le problème est que la définition d'hôte intercepte à la fois jumphost.example.com ET target.example.com en tant qu'alias, puis définit HostName sur jumphost.example.com dans les deux cas.
Je suggérerais de faire des alias suivant la commande Host des noms de domaine NON complets, puis de créer une entrée Host pour chaque
la source