我有一个 ubuntu 开发服务器在工作。这是一个旧的机架服务器,位于公司地牢的某个地方,没有人去过那里。它可以工作的唯一方法是作为所谓的无头服务器(即没有连接显示器/键盘,只接受网络连接)。
显然,如果你只需要终端访问 ssh 就绰绰有余了。但是,我也想不时连接到图形界面。目前我正在使用内置的 VNC 功能,但我很确定这既不是解决此问题的最有效也不是最安全的方法。
我对这个问题进行了一些研究,但未能得出任何明确的结论。我读到尝试通过 ssh 转发 X 环境,这至少可以解决我的安全问题。任何人都可以分享他们在设置这个方面的经验吗?还有其他方法可能值得一看吗?
我几乎完全从一台 Windows 机器连接到这台服务器。我不知道这对于建议的某些方法是否有问题。
是的,通过 ssh 进行 X 转发确实是一件美妙的事情。它允许您逐个应用程序使用图形应用程序,并让您自己的桌面环境处理窗口。您甚至不需要在服务器上安装桌面环境。
不过,您确实需要设置一些身份验证内容才能使其正常工作。我相信你需要 xauth 。
它也比 VNC 快得多。根据我的经验,VNC 总是相当滞后。
编辑: 我没有通过 Windows 使用此方法的经验,但如果您有兴趣,我会为您找到本教程。
您可以使用freenx代替 vnc。Freenx 传输 x 命令(带有缓存)而不是位图。
Xming和XDMCP是一个绝妙的选择。
编辑:
Xming是一个windows的x-server,基于Cygwin,可以共享剪贴板,也可以实现不同的桌面布局。
XDMCP 是一个简单且重要的未加密协议(不要在互联网上使用它),用于连接 X-displaymanager 和 x-server。
我不知道“最好”的方式,我猜是 YMMV,但这里有一个相当全面的工具概述:http ://www.mynitor.com/2010/02/07/15-remote-desktop- linux 解决方案/
我特别是我的经验:
nomachine nx - 令人印象深刻的速度。在其本机模式下,感觉就像您在控制台前。它支持启动新会话以及遮蔽控制台(但遮蔽速度较慢)。它支持分离和附加到会话。剪贴板共享对我来说只有一种方式,我无法修复它。nomachine 提供有一些许可限制的免费服务器和客户端软件包。
FreeNX建立在 nomachine nx 库之上
x2go - 对这个特别好的重定向印象深刻,但我没有像 nomachine nx 那样长时间使用它,因为我后来发现了它。
x11vnc - 能够附加到控制台会话的出色 vnc 服务器。与 nomachine nx 结合使用。我不确定它是否可以在无头模式下运行,但我会列出它以防万一,因为对我来说它是最快的 vnc 服务器。
xrdp - 看起来很有希望,但看起来没有维护。OpenSuse nomad 解决方案基于 xrdp,我听说 nomad 是您可以在 linux 上获得的最佳远程桌面体验。
teamviewer - linux 版本仍然是测试版,在 wine 下运行并消耗一些 CPU,但我最近使用了很多,我对它很满意。不确定它是否适用于无头服务器。
还可以考虑xpra,它允许您从其他地方分离到正在运行的会话,例如“X 屏幕”。
还有Window Shifter,一个适用于 xpra 的前端,它应该也适用于 Windows,请参阅演示。
虽然本质上不安全,但您可以在本地网络上使用XDMCP 。我经常使用它来访问虚拟机。就像登录到您的桌面一样,只是您选择了远程服务器。
我使用x11vnc,这对我来说效果很好。它使您可以在连接之间保持持久的图形会话,因此您可以断开连接并重新连接,一切都将与您离开时一样。它还支持通过 SSH 建立隧道。有关简短描述和一些设置说明,请参阅这些 Ubuntu 社区文档。
我已经使用来自http://nomachine.com的 Windows 客户端在 Ubuntu 上成功使用了 freenx 。
对我来说,这是为了让我可以使用旧的平板电脑(即使安装了全新的 Windows XP 也很困难)作为更强大的 Ubuntu 桌面机器的前端。
我遇到的唯一问题是您需要将“视觉效果”设置为无才能获得不错的性能。
我打算评论 txwikinger 建议 nxserver 的答案,但我没有足够的声誉。
设置远程 X 访问可能令人生畏,并且涉及多个步骤。
我使用 x2go,它是加载即用的,并且非常易于使用。它为您提供了一个完整的桌面,就像您将新的屏幕和键盘连接到您的服务器一样。它具有完整的 X 功能。
x2go 不是“远程桌面”解决方案。您将获得一个全新的会话。但是,您可以使用 x2go 客户端从同一台或不同的机器断开并重新连接;您的桌面是持久的。最重要的是,只需调整窗口大小,客户端计算机上的桌面就可以完全实时扩展。
x2go 使用 ssh 进行传输,因此您的数据是加密的。这简化了穿越防火墙。使用 ssh 进行传输不会影响速度。
x2go 客户端软件可用于 Linux 和 Windows 以及 Mac。
非常好的免费和开源软件。我每天都使用它。