我可以在 Linux 上运行不需要任何密码的 VNC 服务器吗?

我可以在 Linux 上运行不需要任何密码的 VNC 服务器吗?

我想从 Windows 客户端访问在 Linux 机器上运行的 VNC 服务器,而不使用任何密码。这可能吗?

答案1

如果你只想远程访问服务器,大多数现代发行版现在都有一个选项“远程桌面”,这只是“运行连接到当前 X 会话的 VNC 服务器”的礼貌说法。如果你启用此功能,只要你保持登录状态,您将能够远程访问服务器。

我猜你真正想说的是“我不想出现密码对话框,但我想远程登录 Linux 机器”。这是可行的,但它确实需要一些设置,你可能会在较新的发行版上遇到一些冲突。

首先,如果您想要更类似于 Citrix 会话(每个用户都有单独的远程桌面),您需要禁用我上面提到的选项。如果启用它,您最终将面临端口冲突。

接下来,您需要安装具有会话支持的 VNC 服务器。我建议使用 TightVNC,而不是普通的 VNC 软件包,不仅因为它支持压缩,而且在针对显示管理器进行身份验证时似乎“表现更好”。

  • Red Hat/CentOS:
yum remove vnc && yum install tightvnc
  • Debian / Ubuntu:
apt-get update && apt-get remove vnc ; apt-get install tightvnc

您需要为 inet 超级服务器服务(inetd、xinetd 等)创建一个新条目。这样做的目的是,您将为每次客户端尝试动态创建一个连接。您需要这样做是因为使用静态运行的守护进程无法为每次连接尝试正确生成一个子进程。

inetd/xinetd 服务器的条目将嵌入显示大小、颜色深度等。我建议使用 15 或 16 bpp 之类的东西,以及大约 1000x700 的显示器(其余 68 像素将由您的 windows/linux/mac 客户端在客户端显示器的底部和顶部占用,并且在 1024x768 设置中,您将在每侧有 12 个“边缘”像素)。如果您需要自定义显示,您可以创建多个条目,每个条目都有自己的位深度和显示分辨率。是的,你可以做自定义分辨率,一些客户端甚至支持自定义位深度(12bpp,有时尝试一下...)这将为您从不同客户端连接时提供一些灵活性。

最后,您需要在显示管理器上启用远程登录。大多数发行版将 GDM 捆绑为默认设置,尽管它可能是 KDM、WDM、XDM 等,因此您需要调查这一点以正确设置它。

一些例子:

http://www.simonsmess.com/ubuntu/vnc-to-gdm-with-login-it-can-work/

http://www.realvnc.com/pipermail/vnc-list/2000-December/019151.html

http://themadadmin.com/wp/?p=1225

答案2

如果您已经tightvnc安装了,则默认Xvnc不需要密码,除非您使用指定密码文件-rfbauth <your_pass_word_file>

在 CentOS 7.0 系统上,使用 进行安装tightvnc确实yum让我得到了tigervnc一些非常接近的结果,以至于tightvnc我第一次错过了不同的安装。更糟糕的是它以不兼容的方式运行。它Xvnc实际上默认假设密码,您必须-SecurityTypes None在启动服务器时将其作为参数提供。

不需要密码是完全合理的,例如当您通过 ssh 进入一个在Xvnc监听端口上有防火墙的系统时。

答案3

这取决于 VNC 服务器,但是是的,我见过的 VNC 服务器有一个是否使用密码的选项。问题是:你到底为什么希望任何人都能连接?

相关内容