¿Cómo hago ssh con múltiples saltos usando contraseñas?

¿Cómo hago ssh con múltiples saltos usando contraseñas?

Quería sshdesde server1y llegar server3a través de server2.

Esto se puede hacer usando:

ssh -t user2@server2 ssh user3@server3

Pero, ¿cómo puedo lograr esto cuando server2y server3tengoinicios de sesión con contraseña?

Restricciones:

1)No voy a escribir contraseñas

2)No puedo usar claves ssh en este caso

Respuesta1

Debes usar la -topción con cada subsiguiente ssh, excepto con el último:

ssh -t user1@server1 ssh -t user2@server2 ssh user3@server3

Si es posible, utilice mejor -J( ProxyJump) en lugar de comandos ssh integrados:

ssh -J user1@server1,user2@server2 user3@server3

Respuesta2

Hay algunas maneras de hacer esto. El rápido y sucio que usaría es hacer un túnel server1 -> server2y luego usar ese túnel para ir.server1 -> server3

ssh -L localhost:2222:server3:22 server2

Aquí estamos diciendo:
ssh a server2...
cualquier tráfico que aparezca en ellLado local del túnel en el puerto localhost 2222...
pase por el túnel...
en el otro lado, envíe ese tráfico al puerto 22 del servidor 3.

Luego desde otra ventana:

ssh -p2222 localhost

Eso debería solicitarle la contraseña en el servidor 3.

información relacionada