Como posso estabelecer um túnel seguro para VNC
meu computador doméstico e meu computador no escritório, ambos os hosts estão por trás do NAT. Eu tenho acesso ssh à máquina no trabalho (estabeleci um túnel ssh reverso (usando autossh
) para um host com um IP público). Todas as máquinas envolvidas estão rodando Linux. Preciso de acesso X11 ao meu computador de trabalho, usar o -X
sinalizador com ssh funciona, mas é muito lento.
Como sugeriu @satwell, fiz a segunda solução proposta:
work$ ssh -R 5900:localhost:5900 public
home$ ssh -L 5900:localhost:5900 public
o que pareceu funcionar muito bem e me permitiu conectar de casa, apenas a tela que recebi parecia: como faço para obter acesso à área de trabalho real (da unidade)?
O VNC opera em números de porta começando em 5900. (VNC :0 é a porta 5900, VNC :1 é a porta 5901, etc.) Supondo que sua máquina de trabalho esteja usando :0 para VNC, você precisará encaminhar a porta 5900.
Se você já possui um túnel ssh em funcionamento que permite conectar de
home
parawork
(através da máquina intermediáriapublic
), basta adicionar-L 5900:localhost:5900
a qualquer comando ssh executadohome
para se conectar awork
. Então você pode VNClocalhost:0
emhome
.Essa é a opção mais segura porque seu tráfego é criptografado de ponta a ponta entre
home
ework
, mas significa que você tem duas camadas de túneis SSH.Se preferir, você pode configurar dois túneis separados, um entre
home
epublic
, e um segundo entrework
epublic
. Isso pode ser um pouco mais rápido, mas saiba que a segurança dessa alternativa depende da segurança dopublic
. Nesta versão, qualquer pessoa que possa enviar tráfego paralocalhost
onpublic
pode se conectar à porta 5900 emwork
. E pode inspecionar todo o seu tráfego VNCroot
.public
Você pode usar opcionalmente
autossh
para um ou ambos os túneis.