ssh: ProxyCommand a través de una conexión ControlMaster persistente

ssh: ProxyCommand a través de una conexión ControlMaster persistente

Tengo dos servidores middley remote. middlese utiliza como proxy para acceder remote. He configurado middlela configuración ssh para que conserve las conexiones a remotetravé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 middlea remote. Esto es conveniente porque la autenticación remotees compleja.

Me gustaría configurar mi configuración ssh local para poder enviar ssh desde localhost a remotetravé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.

información relacionada