O Tigervnc tem uma opção para passar o arquivo passwd do servidor. Assim, copiar esse arquivo do servidor no cliente (usando ssh com par de chaves) permite efetuar login sem a necessidade de digitar uma senha:
scp host:.vnc/passwd ~/.vnc/passwd.host
vncviewer passwd=~/.vnc/passwd.host host:5901
A documentação menciona, --passwd
mas com a versão 1.9.0, apenas a passwd
versão funciona.
Diferentemente da solução sem senha, apenas a solução de acesso local, isso impede que outros usuários no mesmo host se conectem ao vncserver. No entanto, ele pode ser combinado apenas com o acesso local, para restringir quem pode tentar forçar o servidor vncs com força bruta.
Nota1: A documentação diz que o arquivo precisa estar no mesmo sistema de arquivos, mas a cópia funcionou para mim. Não tenho certeza se o arquivo passwd foi alterado e precisa ser copiado novamente. - pela minha observação, isso não parece ser o caso.
Nota2: Este não é realmente um par de chaves, pois parece ser um hash da senha armazenada nos dois lados.