Quería ssh
desde server1
y llegar server3
a través de server2
.
Esto se puede hacer usando:
ssh -t user2@server2 ssh user3@server3
Pero, ¿cómo puedo lograr esto cuando server2
y server3
tengoinicios 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 -t
opció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 -> server2
y 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.