Tengo dos servidores middle
y remote
. middle
se utiliza como proxy para acceder remote
. He configurado middle
la configuración ssh para que conserve las conexiones a remote
través de ControlMaster, de la siguiente manera
Host remote ControlMaster auto ControlPath ~/.ssh/%r@%h:%p ControlPersist yes
He creado una conexión persistente desde middle
a remote
. Esto es conveniente porque la autenticación remote
es compleja.
Me gustaría configurar mi configuración ssh local para poder enviar ssh desde localhost a remote
través de middle
,reutilizar la conexión creada anteriormente. Puedo hacer esto manualmente como ssh -t middle ssh remote
, pero no puedo encontrar una manera de lograr lo mismo usando la opción ProxyCommand, lo cual es especialmente molesto si quiero enviar un archivo a remote
.
Los ProxyCommands que no funcionan incluyen
ssh middle -W remote:22
(no reutiliza la conexión)ssh middle -t remote
(llega hasta un shell, confundiendo a mi cliente ssh local, que espera hablar con sshd, no con un shell)
Respuesta1
Creo que no entiendes todo el mecanismo ControlMaster en ssh. La idea es que la conexión se reutilice en el SISTEMA LOCAL, es decir, en el servidor "intermedio". Entonces, en esencia, para reutilizar la conexión, necesitaría invocar el cliente ssh en el "medio". Como esto:
ssh medio "ssh remoto"
Esto lo conectará primero con el "medio" y luego iniciará un cliente ssh allí para conectarlo con el "remoto". La segunda conexión, con la configuración correcta de ControlMaster, reutilizará la conexión persistente existente.