Encadenamiento de comandos de lanzadera en dos saltos

Encadenamiento de comandos de lanzadera en dos saltos

Tengo el siguiente escenario:

  • Anfitrión A: Mi máquina
  • Host B: Servidor - 192.168.1.1
  • Host C: nodo de salto - 192.168.2.1
  • Red N: 192.168.3.0/24

Usando sshuttle, ¿cuál es la mejor manera de reenviar y poder llegar a las máquinas de la red N (192.168.3.0/24) desde la Máquina A, pasando por B y C?

De hecho puedo ejecutar:

sshuttle -r [email protected] -v 192.168.3.0/24 &
ssh [email protected]
sshuttle -r root@$192.168.2.1 -v 192.168.3.0/24 &

Si abro en el navegador por ejemplohttp://192.168.3.5Desde la máquina A recibo los paquetes TCP en el nodo de destino, pero no obtengo la respuesta correctamente.

Respuesta1

Úselo ProxyCommandcomo para cualquier otra configuración de múltiples saltos. Crea un archivo ~/.ssh/configcon

Host B
  Hostname 192.168.1.1
  User root
Host C
  Hostname 192.168.2.1
  User root
  ProxyCommand ssh -W %h:%p B

Luego simplemente conéctese usando sshuttle:

sshuttle -r C -v 192.168.3.0/24 &

Respuesta2

sshuttle -r user@targetMachine -e 'ssh -J jumpHost1,jumpHost2' <forwardedNetwork>

información relacionada