Esta é uma pergunta comumente feita e respondida. No entanto, as soluções não estão funcionando para mim, então gostaria de uma ajudinha para descobrir por que não. Eu sei que fiz isso com sucesso no passado.
Eu olhei: Túnel VNC via conexão SSH
http://crl.ucsd.edu/handbook/vnc/
http://martybugs.net/smoothwall/puttyvnc.cgi
Eu tenho o PUTTY configurado da seguinte forma:
Abro a conexão com o serverA. Então
ssh -L 5901:localhost:5901 serverB
Uma vez logado, inicio uma sessão VNC
-bash-4.1$ vncserver :1
New 'serverB:1 (balter)' desktop is serverB:1
Starting applications specified in /home/users/balter/.vnc/xstartup
Log file is /home/users/balter/.vnc/serverB:1.log
-bash-4.1$
Eu deveria estar pronto para ir, então tento VNC para localhost
or localhost:0
or localhost:5900
. A conexão falha.
Sugestões?
EDITAR:Eu deveria ter acrescentado que o serverB está atrás de um firewall, então preciso usar o serverA como intermediário.
EDIT 2 - baseado no comentário de Nikita:
Saída netstat -inpt
no serverB
-bash-4.1$ netstat -inpt
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
bond0 1500 0 25034847553 0 0 0 0 0 0 0 BMmRU
eth0 1500 0 7645087 0 0 0 148398 0 0 0 BMRU
eth4 1500 0 10494292891 0 0 0 0 0 0 0 BMsRU
eth5 1500 0 10644409020 0 0 0 0 0 0 0 BMRU
eth6 1500 0 14540554669 0 0 0 0 0 0 0 BMsRU
ib0 1500 0 5055 0 0 0 4267 0 1 0 BMRU
lo 65536 0 8932391289 0 0 0 8932391289 0 0 0 LRU
-bash-4.1$
Como posso interpretar isso?
Responder1
Você não se esqueceu de clicar no botão "Adicionar" na caixa de diálogo da captura de tela para adicionar especificações de encaminhamento à lista?
Tem certeza de que seu servidor remoto mais recente usa 5901? Parece que deveria, mas verifique isso com o netstat depois de executar o vncserver.
Poderia ser melhor usar apenas um avanço. Encaminhe não para localhost, mas para serverB diretamente na caixa de diálogo Putty. Você só precisará se conectar ao serverB via SSH para executar o vncserver lá, sem necessidade de encaminhar nada. É claro que o vncserver do serverB não deve escutar apenas no localhost. (O código de encaminhamento SSH resolve nomes no servidor, portanto o serverB deve ser resolvido apenas no serverA, mesmo se você usar seu nome na caixa de diálogo Putty).