我有一个安装了 TigerVNC 的 RHEL 6 系统。它配置为仅允许通过 SSH 进行 VNC 连接。因此,用户只有成功与系统建立 SSH 连接后才能连接到 VNC。
然而,尽管有 SSH 要求,用户仍然必须运行vncpasswd
命令并创建 VNC 密码。 由于需要 SSH 隧道并且必须已经建立,这个密码不是多余的吗?
因此,我的问题是: 如果 TigerVNC 服务器只监听 SSH 隧道,您可以禁用其对 VNC 密码的要求吗?(假设该密码其实是多余的)
谢谢
编辑:我有一个理论。不是多余的,因为一旦你通过 SSH 登陆,你就可以通过 VNC 进入任何 VNC 用户的帐户?
答案1
更重要的是,SSH 和 VNC 是分开的,它们的密码要求彼此无关。您使用 SSH 作为网络传输,因此您在 SSH 上进行身份验证(密码或密钥,无关紧要)。
然后,您将访问 VNC 服务,它有自己的身份验证方案。VNC 不知道您如何连接到该框,也不知道您要使用哪些用户帐户(我从未在 Linux 上使用过 VNC;我假设它连接到当前桌面)。
答案2
来自 TigerVNC 手册。 man Xvnc
-SecurityTypes sec-types
Specify which security schemes to use separated by commas. At present only "None" and "VncAuth" are supported. The default is "VncAuth" - note that if you want a server which does not require a password, you must set this parameter to "None".
因此,-SecurityTypes None
在服务器上是您的问题的正确答案。我已经测试过了,它确实有效。
运行vncserver -SecurityTypes None
将允许用户无需密码连接到 VNC 会话,即使已设置密码。