Como estabelecer uma conexão VNC por meio de um túnel SSH no Ubuntu 20.04
Recentemente, abordamos o processo de instalação e configuração de um servidor TightVNC no Ubuntu 20.04. Além disso, agora será descrito o processo de configuração de um túnel SSH seguro para uma conexão VNC. Isso ocorre porque o VNC em si não é seguro. O uso de um túnel SSH corrige a situação.
Preparação
Na primeira parte, abrimos a porta 5901 do firewall. A conexão agora será direcionada pelo túnel SSH, portanto, você precisa fechar as portas abertas para o VNC.
ufw deny 5901/tcp
Você também precisa fechar todas as sessões do TightVNC em execução.
[/passo]
vncserver -kill :1
E iniciar uma sessão que esteja ouvindo apenas conexões internas. Depois de abrir o túnel SSH, essa será a nossa conexão.
vncserver -localhost
Se você tiver configurado o serviço TightVNC, abra sua configuração.
[/passo]
nano /etc/systemd/system/vncserver.service
Localize o parâmetro ExecStart e faça com que ele tenha a seguinte aparência:
ExecStart=/usr/bin/vncserver -localhost
Recarregar o systemd:
systemctl daemon-reload
E inicie (ou reinicie) o serviço:
systemctl enable --now vncserver
Criando um túnel SSH
O comando a seguir deve ser executado no computador cliente a partir do qual você está se conectando ao servidor VNC. Ele conecta a porta 61000 no computador local à porta 5901 no servidor por meio de um túnel SSH.
ssh -L 61000:localhost:5901 -N -l username VNC_server_IP
As seguintes opções são usadas para criar um túnel:
- L - encaminha informações da porta local 61000 para a porta remota 5901 via túnel SSH;
- -N - especifica apenas o encaminhamento de portas, não a execução do comando;
- -l - especifica o nome de usuário para criar o túnel.
Substitua username e VNC_server_IP por seus próprios parâmetros. Se você se conectar usando uma chave SSH, não se esqueça de adicionar o parâmetro -i, como em uma conexão SSH normal.
Usando o Putty para criar um túnel SSH
Use os parâmetros normais de conexão no Putty. Além desses, você precisa adicionar algumas configurações. Ou seja, vá para Conexão - SSH - Túneis, digite 61000 na porta de origem e localhost:5901 no destino.
Clique em Add and Apply.
[/passo]
Conectando-se a uma área de trabalho remota
O túnel foi criado. Para se conectar à área de trabalho remota, use o mesmo cliente da primeira parte do tutorial - qualquer cliente VNC que desejar. Digite localhost:61000 como o servidor VNC.


