Como eu poderia usar o SSVNC para VNC em uma máquina atrás de um firewall?

1

Atualmente, tenho três máquinas na minha configuração (todas executando Linux):

  • FirewalledMachine - A máquina que desejo ver. Sempre ligado.
  • Servidor - tem controle total sobre o encaminhamento de porta. Sempre disponível.
  • HomeMachine - A máquina na qual desejo ver o FirewalledMachine.

Neste momento, tenho FirewalledMachine mantendo uma sessão SSH reversa aberta com o Servidor. Ou seja O FirewalledMachine verifica continuamente se há uma sessão SSH reversa e abre uma se não houver:

ssh -N -f -R 0.0.0.0:2210:localhost:22 user@Server

Então, agora, posso sempre usar o SSH no FirewalledMachine da HomeMachine usando:

ssh -p 2210 user@Server

Como posso visualizar: 0 no FirewalledMachine da HomeMachine? Parece que eu poderia usar o ssvnc para fazer isso, mas não sei exatamente como.

    
por user43704 08.06.2016 / 22:23

1 resposta

0

Vou assumir algumas coisas:

  • O servidor SSH ao qual você está se conectando (FirewalledMachine) permite o tunelamento SSH.
  • O serviço VNC funciona (no FirewalledMachine).
  • Esse localhost é mapeado corretamente nas duas máquinas.

As portas VNC começam em 5900 para exibição 0, subindo de lá. Portanto, crie um túnel SSH durante a conexão, alterando o comando SSH do lado do cliente a partir de:

$ ssh -p 2210 user@server

para:

$ ssh -L 5900:localhost:5900 -p 2210 user@server

(O primeiro 5900 é o encapsulamento, como será visto no lado do cliente. A segunda parte, localhost:5900 , é o endereço e a porta aos quais os dados que chegam pelo encapsulamento estão conectados, em relação ao lado do servidor .)

Agora, a porta VNC remota foi mapeada para uma porta local correspondente, para que você possa conectar o VNC assim:

$ vncviewer localhost:0

(o VNC usa IDs de exibição X em vez de números de porta. O monitor 0 geralmente mapeia para a porta 5900, embora seja possível configurar o servidor para usar uma porta inicial diferente.)

Tentar usar 5900 localmente pode ser um problema se você já tiver a porta em uso por causa, por exemplo, do sistema X Windows local. Se for esse o caso, você pode obter melhores resultados ao alternar para uma porta local diferente, como em:

$ ssh -L 5910:localhost:5900 -p 2210 user@server
$ vncviewer localhost:10
    
por 08.06.2016 / 23:39

Tags