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
RemoteCommand
accepter 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 .