
Existem 3 computadores:
- máquina local (osx)
- server1 (centos 7 na porta 22 do data center aberta)
- server2 (centos 7 fechado atrás de nat)
server2 mantém um túnel reverso para server1 na porta 2222. A execução ssh localhost -p 2222
no server1 vai diretamente para a linha de comando do server2
Qual é a melhor maneira de configurar um túnel da máquina local através do servidor1 para o servidor2? Por exemplo, é possível iniciar um túnel de localhost para server1 usando ssh -D 5000 -N root@server1
.
Como fazer o salto extra e fazer com que o túnel passe do localhost para o servidor1 e para o servidor2? Eu tentei esse tipo de coisa ssh -L 5000:localhost:5000 root@server1 ssh -L 5000:server2:2222 -N root@localhost
mas não funcionou
por exemplo, localhost -5000-> servidor1 -2222-> servidor2
Responder1
Ao fazer o túnel reverso, você vinculou localhost:2222 no servidor1 ao servidor2. Eu recomendo que você agora faça um túnel em algum número de porta da sua máquina osx local para o servidor1 (selecionei 9999 neste exemplo), apenas para ter acesso ao túnel reverso que você criou antes, ou seja,
ssh -L 9999:localhost:2222 root@server1
Deixe-o aberto para que você tenha seu salto duplo para o servidor2 pronto para uso. Em seguida, em um terminal separado, você poderá fazer
ssh -p 9999 root@localhost
e obtenha acesso ao server2. Por motivos de segurança, recomendo não usar root para conexões SSH.