Au travail, nous avons un hôte de saut SSH qui nous oblige à utiliser sudo ssh à SSH dans l'hôte de destination. Quelque chose comme ça :
ssh jump-host
sudo -u sshuser ssh final-host
J'essaie d'intégrer cela dans un ProxyCommand ou une configuration de configuration SSH similaire afin que je puisse simplement exécuter ssh final-host , mais je ne sais pas comment ni si c'est possible.
Réponse acceptée :
Non, vous ne pouvez pas intégrer un sudo distant appeler une ProxyCommand dans votre cas d'utilisation, mais vous pouvez -depuis OpenSSH 7.6 (octobre 2018)– utiliser :
Commande à distance
Spécifie une commande à exécuter sur la machine distante après une connexion réussie au serveur. La chaîne de commande s'étend jusqu'à la fin de la ligne et est exécutée avec le shell de l'utilisateur. Arguments de
RemoteCommandaccepter les tokens décrits dans la section TOKENS.
Ainsi, vous pouvez faire une entrée dans .ssh/config comme ça :
Host finalhost
RemoteCommand sudo -u sshuser ssh final-host
RequestTTY yes
Hostname jumphost
Host jumphost
User jumpHostUser
... Other options for jumphost, if necessary
Cela ne fonctionne que pour le sous-système de terminal, donc sftp finalhost vous atterrira sur jumphost , pas hôte final . git et certains autres outils ne fonctionneront pas avec finalhost .