目前的环境是 Windows 和 Linux(RHEL 4/5 和 SLES 10/11)的选择,其中 VNC 访问 Windows 机器使用 ultravnc 并提供用户名/密码组合进行身份验证。
理想的情况是使用 VNC 访问 Linux 服务器,并通过用户名/密码组合进行身份验证(在显示控制台之前)。
我知道使用 VNC 可以使用通用密码甚至根本不用密码来处理这个问题。
在这种情况下最好的解决方案是什么?是否可以根据需要配置 VNC 访问?
通过 pam 进行身份验证也会很有益,这样就可以使用 pam_access 和其他限制。
谢谢,
马特。
答案1
虽然这不能直接回答您有关 VNC 身份验证的问题,但对于您的问题来说,更合适的解决方案可能是 NX。
Google 已经发布了一款不错的开源 NX 服务器,其形式为尼特克斯或者自由NX它也是开源的,但稍微复杂一些,并且在其实现中是 shell 脚本。我使用 neatx 取得了更好的成功。当然,还有来自协议发起者的商业 NX 服务器无机器。“免费”的 NoMachine NX 服务器由于限制(并发和唯一用户数 = 2)而不适用于大多数正常生产系统,但如果您想要付费,这些限制就会被消除。
接下来是客户端。我最好的体验仍然是使用NoMachine客户端,但我还没有尝试过OpenNX,只有 QtNX 不能完全满足我。与服务器一样,NoMachine NX 客户端只是伪免费的,但除了许可证之外没有任何烦人的限制。
再说一遍,这并不完全是您所要求的,但也许是一个值得考虑的解决方案。
答案2
答案3
RealVNC 企业版提供“系统身份验证”,其中包括PAM 支持. 它还支持强加密。
Linux 上的 VNC 服务器使用启动服务器的人的权限创建桌面。虽然当您使用显示登录人员坐在控制台前的屏幕时这一点很明显(RealVNC 的 x0vncserver,或 X11vnc、krfb 或 vino),但对于虚拟桌面也是如此。
如果我想以自己的身份登录虚拟 VNC 桌面,我需要通过 ssh 登录,启动虚拟 vncserver 实例,然后连接到该 vncserver。既然我已经完成了所有这些操作,为什么不直接使用普通的 vncserver 并通过我刚刚登录的 ssh 建立隧道连接呢?