Eu queria ssh
from server1
e chegar server3
via server2
.
Isso pode ser feito usando:
ssh -t user2@server2 ssh user3@server3
Mas como posso conseguir isso quando server2
e server3
tenhologins com senha?
Restrições:
1)Não vou digitar senhas
2)Não posso usar chaves ssh neste caso
Responder1
Você deve usar a -t
opção com cada subseqüente ssh
, exceto o último:
ssh -t user1@server1 ssh -t user2@server2 ssh user3@server3
Se possível, é melhor usar -J
( ProxyJump
) em vez de comandos ssh incorporados:
ssh -J user1@server1,user2@server2 user3@server3
Responder2
Há algumas maneiras de fazer isto. O rápido e sujo que eu usaria é fazer um túnel server1 -> server2
e depois usar esse túnel para irserver1 -> server3
ssh -L localhost:2222:server3:22 server2
Aqui estamos dizendo:
ssh para server2
...
qualquer tráfego que apareça noeulado local do túnel na porta localhost 2222...
passe pelo túnel..
no lado oposto, envie esse tráfego para a porta 22 do servidor3
Então, de outra janela:
ssh -p2222 localhost
Isso deve solicitar a senha no server3.