Eu tenho 3 máquinas em 3 redes diferentes.
LAR:
- Com internet mas não conectado a nenhuma máquina local, com sudo.
TRABALHAR:
- Com o ssh disponível através da internet www,
- LARpode ssh paraTRABALHAR, mas não vice-versa
- TRABALHARpode fazer ssh de saída e entrada
- Eu tenhonãoacesso sudo neste computador
- a máquina não está
iptables
instalada
SERVIDOR:
- SERVIDORestá conectado à www internet
- SERVIDORpode ssh paraTRABALHAR, mas não vice-versa
- SERVIDORsó pode fazer ssh de saída.
- Eu tenho acesso sudo neste computador.
Então agora a rede pode fazer isso:
HOME -> TRABALHO <- SERVIDOR
Dada esta configuração, como faço para obterLARpara se conectar aSERVIDOR? Todas as três máquinas estão executando o Ubuntu. Só tenho acesso de linha de comando a todas as três máquinas.
Responder1
Você não deveria precisar do sudo para esta solução ssh.
Primeiro, na linha de comando do SERVIDOR, configure um encaminhamento de porta remota da máquina WORK para o SERVIDOR:
SERVER$ ssh -f -N -R 23456:SERVER:22 workuser@WORK
Então, enquanto esse processo estiver em execução, você poderá fazer o seguinte:
HOME$ ssh -t workuser@WORK ssh -p23456 serveruser@localhost
Ou seja, de HOME, você deverá conseguir se conectar através de WORK, depois através do túnel ssh até a máquina SERVER.
Deveria ser possível usar :23456 para especificar que o ssh deveria escutar em todas as interfaces na máquina WORK, mas isso não funcionou para mim, provavelmente porque GatewayPorts estava desabilitado. Se funcionasse, o segundo comando poderia ser simplificado para isto:
HOME$ ssh -p23456 serveruser@WORK