En el trabajo, tenemos un host de salto SSH que requiere que usemos sudo ssh
a SSH en el host de destino. Algo como esto:
ssh jump-host
sudo -u sshuser ssh final-host
Estoy tratando de incorporar esto en un ProxyCommand o una configuración de configuración SSH similar para poder ejecutar ssh final-host
, pero no estoy seguro de cómo o si es posible.
Respuesta aceptada:
No, no puedes integrar un sudo
remoto llamar a un ProxyCommand
en tu caso de uso, pero puede, desde OpenSSH 7.6 (octubre de 2018), usar:
Comando Remoto
Especifica un comando para ejecutar en la máquina remota después de conectarse con éxito al servidor. La cadena de comando se extiende hasta el final de la línea y se ejecuta con el shell del usuario. Argumentos para RemoteCommand
acepte los tokens descritos en la sección TOKENS.
Entonces, puede hacer una entrada en .ssh/config
así:
Host finalhost
RemoteCommand sudo -u sshuser ssh final-host
RequestTTY yes
Hostname jumphost
Host jumphost
User jumpHostUser
... Other options for jumphost, if necessary
Esto funciona solo para el subsistema de terminal, por lo tanto, sftp finalhost
te aterrizará en jumphost , no host final . git
y algunas otras herramientas no funcionarán con finalhost .