我在旅途中使用 RealVNC 远程控制我的计算机。但每次都必须输入访问密码,这让我很烦。能否让 RealVNC(或任何其他 VNC 实现)使用我的密钥对而不是密码?
答案1
我经常使用的一种简单方法是将 VNC 设置为完全不需要密码。但我还将其设置为仅监听环回接口 (127.0.0.1) 上的连接。
然后我只需创建一个到我的盒子的 SSH 隧道并使用 SSH 端口转发进行身份验证和远程访问。
答案2
答案3
Tigervnc 有一个选项可以从服务器传递 passwd 文件。因此,在客户端上从服务器复制该文件(使用带密钥对的 ssh)可以无需输入密码即可登录:
scp host:.vnc/passwd ~/.vnc/passwd.host vncviewer passwd=~/.vnc/passwd.host host:5901
这文档提到--passwd
但只有版本 1.9.0passwd
有效。
与无密码、仅本地访问解决方案不同,这可防止同一主机上的其他用户连接到 vncserver。但它可以与仅本地访问相结合,以限制谁可以尝试暴力破解 vncserver。
注 1:文档说文件需要位于同一文件系统上,但复制对我来说是可行的。不确定 passwd 文件是否曾经更改过,是否需要再次复制。——从我的观察来看,情况似乎并非如此。
注2:这并不是真正的密钥对,因为它似乎是存储在双方的密码的哈希值。