O Tigervnc tem a opção de passar o arquivo passwd do servidor.
Assim, copiar esse arquivo do servidor no cliente (usando ssh com keypair) 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 versão passwd
funciona.
Diferentemente da senha no, somente 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 vncserver.
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 já foi alterado e precisa ser copiado novamente. - da minha observação, este não parece ser o caso.
Nota 2: Este não é realmente um par de chaves, pois parece ser um hash da senha armazenada em ambos os lados.