Então, se eu entendi sua pergunta, você tem:
- 2 PCs em redes internas.
- Você não tem influência sobre os roteadores nas duas redes.
E você quer:
- Configurar um servidor público ( PS ) hospedando um serviço SSH (suponho porta 22 ).
- Conecte PC1 e PC2 a PS (tráfego de saída, sem configuração do roteador).
- Conecte uma sessão VNC do PC2 (Windows) ao PC1 (Ubuntu) na porta 5900 .
Você pode conseguir isso criando um túnel SSH, fazendo um encaminhamento remoto a partir do PC1 e um encaminhamento local do PC2.
Para que isso funcione, no PC Ubuntu, PC1, você precisa se conectar ao PS usando:
ssh <ps-user>@<ps-address> -R 5901:localhost:5900
Neste ponto, se você se conectou ao PC1, pode executar netstat -latn | grep 5901
e deverá vê-lo escutando. Isso significa que metade do processo está pronto.
Agora a conexão do cliente. Do PC2, se fosse uma caixa linux também, você poderia usar
ssh <ps-user>@<ps-address> -L 5902:localhost:5901
se for o Windows, você pode usar o PuTTY, definindo a seção de encaminhamento de porta abaixo de Connection
/ SSH
/ Tunnels
e adicionar uma porta local com porta de origem 5902
e destino localhost:5901
. Ao clicar em adicionar, você verá na lista de portas encaminhadas algo como L5902 localhost:5901
Agora você tem dois túneis conectados a um servidor público. Se você executar o visualizador VNC do PC2 e apontar para o host local: 5902, você deve se conectar ao serviço VNC que atende na porta 5900 no PC1.
Espero que ajude.