Eu testei várias implementações de servidores VNC, incluindo:
- TightVNC
- RealVNC
- FreeNX
- X11VNC
No geral, eu diria que o mais fácil de configurar, bom desempenho em configurações de monitor duplo, suporte multiplataforma para muitos clientes e mais confiável para mim foi X11VNC
.
O FreeNX foi muito difícil de configurar, embora subjetivamente não fosse muito melhor ou mais rápido do que outras soluções que eu tentei, então a recompensa não foi tão grande quanto eu esperava. O FreeNX só funcionava com clientes * nix na época em que tentei e precisava de uma solução de plataforma cruzada. Pode ser que eu tenha configurado mal e a velocidade não tenha sido otimizada para minha conexão, embora eu não tenha certeza.
O TightVNC e o RealVNC funcionaram razoavelmente bem para mim no passado. O TightVNC foi ótimo em conexões de baixa velocidade, enquanto o RealVNC foi ótimo para um pouco de segurança extra (b / c ele suportava senhas mais longas com algoritmo de criptografia de bloco personalizado). No entanto, encontrei alguns problemas que me fizeram decidir usar o X11VNC. A primeira foi que tive problemas ao reinicializar um sistema remoto, iniciar o servidor VNC novamente e tentar conectar-me a ele quando nenhuma sessão X já estava em execução (apenas a tela de login do gdm). Consegui corrigir isso com x11vnc
e este script útil . O segundo problema que me fez mudar foi que multi-plataforma e compatibilidade com muitos clientes VNC diferentes também foi importante para mim. A maioria das conexões de internet modernas é rápida o suficiente para proporcionar uma experiência razoavelmente boa ao se conectar a um sistema remoto, mesmo com o tunelamento SSH. Você pode experimentar passar algumas opções ao iniciar o x11vnc
server para tornar as coisas mais rápidas, se desejar. Algumas que encontrei estão no meu script .
Para configurar o X11VNC:
- Executar
sudo apt-get update
- Executar
sudo apt-get install x11vnc
- Execute
x11vnc -storepasswd
e insira uma senha para proteger seu VNC contra acesso não autorizado Nota 1 - Execute
x11vnc -usepw
para iniciar o servidor Nota 2 - Conecte-se ao servidor com seu cliente VNC favorito Nota 3
Nota 1: Por padrão, a senha é armazenada em um arquivo: ~/.vnc/passwd
. Este arquivo é criptografado por uma chave simétrica e um algoritmo especial de criptografia de bloco. No entanto, a chave e o algoritmo são conhecidos, então é possível descriptografá-lo (por favor, apenas descriptografe sua própria senha e don ' ser mal). Trate esse arquivo como uma chave para o seu computador e proteja-o com permissões de arquivo de 0600
( chmod 0600 ~/.vnc/passwd
).
Nota 2: Você pode adicionar argumentos de linha de comando adicionais, se desejar, mas este é necessário para proteção por senha
Nota 3: Use o encapsulamento SSH para segurança. As senhas VNC são enviadas em texto sem formatação pela rede. Para fazer isso, você criará um túnel com ssh -L 5900:localhost:5900
e, em seguida, conectará seu cliente VNC a localhost
na porta 5900
. Se você não se importa com segurança ou confia em todos na sua rede, conecte seu cliente VNC diretamente ao host.
Por exemplo:
- Dado hostname
foo.local
= > conecte-se afoo.local
na porta5900
- Dado o IP
192.168.1.123
= > conecte-se a192.168.1.123
na porta5900