Aparentemente, o gerenciador do sistema configurou o intervalo de porta vnc acessível 5900-5910, mas o servidor VNC estava me atribuindo um número de porta muito acima desse valor.
Eu costumava me conectar de A a um sistema B a VNC com túnel SSH via C.
Eu faço o seguinte:
Em B eu inicio o vncserver:
vncserver
e digamos que eu receba o: 12
Em A, abro o túnel ssh:
ssh -v -C -L 5912:B:5912 user@C
Em A inicio meu cliente vnc:
vinagre localhost:12
Mas isso não funciona mais, porque quando eu começo o vinagre no terminal associado ao meu túnel ssh eu recebo:
channel 3: open failed: connect failed: No route to host
Eu sei que houve algum problema com o sistema na semana passada, mas não sei o que mudou (não sou o administrador do computador), talvez o endereço IP tenha sido alterado, mas eu removi
~/.ssh/know_hosts
para evitar problemas. Eu apreciaria qualquer ajuda ou sugestão
Eu verifiquei se o self-vnc funciona, executando
vncviewer localhost:12
no sistema B
Eu fiz alguns testes, e descobri que se eu tentar encapsular e conectar uma sessão aberta por outro usuário (com outro número, como: 6) eu posso conectar com sucesso: no sentido de que é claro que eu não consigo logar porque eu não tenho a senha correta, mas pelo menos o cliente vnc pede uma senha, além disso eu não vejo nenhuma mensagem 'nenhuma rota para hospedar'. O que isso poderia significar? Parece que essa coisa vnc não está funcionando apenas em algumas portas, não é?
Aparentemente, o gerenciador do sistema configurou o intervalo de porta vnc acessível 5900-5910, mas o servidor VNC estava me atribuindo um número de porta muito acima desse valor.
Apenas uma atualização rápida do motivo de sua porta estar fora dessa faixa de portas. Quando um vncserver é iniciado, seu número de porta atribuído é 5900 + N, onde N é o número do servidor VNC retornado. Exemplo:
vncserver
New 'localhost:1' desktop is localhost:1
Nesse caso, sua porta será 5901. No seu exemplo, seu servidor está usando 5912, que está fora do intervalo de portas.
Existe a possibilidade de que, de fato, o servidor VNC atribua um número de porta alto além do intervalo permitido no firewall, como a pergunta editada e a resposta do Byob indicam.
No entanto, ainda existe uma possibilidade, pois ocorreu-me que há de fato um erro de roteamento em algum lugar, como as tabelas de roteamento da máquina host ou do roteador, talvez. Há uma conversa relevante nos Grupos do Google :
The routing for the target workstation is different between the two systems (...). The fault (...) will be either on the router or on the workstation, and it will either be a fault of omission (you've lost a route in your routing table) or superimposition (you've added an incorrect route to the routing table).
Verifique também se B
é alcançável.
Tags ssh networking vnc port ssh-tunnel