O ssh permite que você inicie um novo login de texto (separado), mas essa não é a única coisa que você pode fazer com ele. Ele também permite que você faça coisas como tunelamento de internet, encapsulamento de uma porta e inicie um programa gráfico nesse novo login de texto e faça com que esse programa apareça no computador local, mas seja executado no computador remoto. Tudo isso é criptografado, por isso é seguro enviar coisas confidenciais como senhas sobre ele.
Além disso, perceba que em uma máquina Linux, é possível que um usuário faça o login várias vezes. (Isso pareceu tão legal quando vim do Windows).
O VNC envia senhas de forma insegura, o que significa que é possível que alguém possa escutar sua conexão e depois usar a senha que eles ouvem para se autenticarem!
Assim, a idéia geral é usar o ssh para conectar-se com segurança e iniciar um novo login de texto que você basicamente não usa. Então você diz ao ssh para também tunelar a porta para o VNC, o que significa que o VNC é empacotado na criptografia ssh para que ninguém ouça sua senha. Quando você se conecta ao servidor VNC remoto, ele mostra o login gráfico, não o texto.
Como fazer isso:
você executa algo como
ssh <monitoredusername>@<monitoredcomputeripaddress> -L <randomportabove1024>:localhost:<monitoredcomputer'svncserverport>
Isso magicamente fará com que o servidor VNC do computador monitorado "apareça" em seu computador local em. Então você pode fazer
vncviewer localhost:<randomportabove1024>
para fazer login.