运行VNC的Ubuntu服务器

我可以访问四台电脑:
1 Ubuntu服务器桌面(版本10.04)
1台Mac Mini(雪豹)
1 Windows桌面(Windows 7)
1个Windows笔记本电脑(Windows Vista)

前三个将始终在家庭networking上。 我的目标是通过VNC(或其他远程桌面软件)从笔记本电脑到服务器进行SSH连接,以控制Windows和Mac电脑。 这样做的目标是通过使用VNC直接访问Mac或Windows桌面来提高networking安全性。

我已成功使用SSH连接到服务器,但尚未能成功实现远程桌面连接。 我会很感激这样做的帮助。 以下是我迄今为止所做的:

按照这里的说明: http : //www.stuartellis.eu/articles/vnc-on-linux/我安装了以下内容:

  • vnc4server – 主要的VNC服务器软件
  • vnc-java – 支持Java浏览器访问
  • xvnc4viewer – 一个基本的VNC查看器

然后我使用vncpasswd命令设置密码。 为了尝试连接到mac,我遵循超级用户在线程中find的指示。 并进入“系统预置>共享”,并启用“屏幕共享”。

随后,我尝试在Ubuntu中input以下命令:
vncviewer mac_ip_address :: 5904 vncviewer mac_ip_address:0 vncviewer mac_ip_address:1

他们都回来了以下内容:
VNC Viewer免费版4.1.1 for X – 2010年4月9日18:41:55
版权所有(C)2002-2005 RealVNC Ltd.
请参阅http:// www .realvnc。 com有关VNC的信息。
vncviewer:无法打开显示“”

我确信我错过了一些重要的东西,但我不确定它是什么。 我是否需要安装GUI,还是安装了vnc软件包?

我build议一个更好的主意是使用内置的function在SSH中隧道/端口转发一些本地端口通过您的SSH客户端到目的地的主机,并在WINDOWS盒子上使用rdp,在Mac上使用vnc。

对于Linux主机,如果你想graphics访问它,我会build议没有机器(NX)。

我有点困惑你的过程。 你是通过SSH连接到Ubuntu系统,然后在你login的Ubuntu服务器上inputvncserver?

如果是这样,那么正如错误消息所示,您的命令行SSH会话无法打开一个GUI来显示您的vnc连接。 我相信你需要在笔记本电脑上使用VNC客户端才能连接到Windows或Mac电脑。

我假设这三台家用电脑是在路由器或防火墙后面的,你只需要为你的Ubuntu系统打开ssh。

正如fenix所说的,你可以使用ssh端口转发来使Ubuntu系统上的一个端口的行为与Mac或Windows系统上的一个端口一样(Ubuntu必须能够访问端口)。 你将不得不转发路由器的另一个端口指向Ubuntu,所以你可以使用它的VNC。 一旦你build立隧道,VNCing到您设置的端口上的Ubuntu将连接到你在ssh隧道中指定的任何机器。

您可以直接将路由器或防火墙中的端口转发到服务器,然后通过互联网直接连接到使用vnc的服务器,但这通常被认为是一个巨大的安全风险。

让我知道,如果我的任何假设你想做什么是不正确的。

编辑:所以你有Ubuntu的服务器,Mac mini,和路由器后面的窗口。 你有SSH访问到Ubuntu服务器。

现在用你的笔记本电脑,从你的内部networking之外,打开腻子。 input会话的所有信息(主机名等)。 在左侧滚动到连接 – > SSH – >隧道

将源端口设置为某个可能未使用的端口(如5000)。 将目标设置为您要连接的远程端的任何系统(内部IP和端口)。 例如localhost:5900会给你的vnc访问你的Ubuntu服务器,服务于SSH。 下一行单选button应该设置为“本地”,下一行设置为“自动”。 现在点击“添加”,然后“打开”。

使用笔记本电脑上的这些设置,您的笔记本电脑在5000端口到5900端口(vnc端口)的远程计算机之间有一个开放的隧道。 现在在你的笔记本电脑上,你应该可以打开一个vnc连接到“localhost:5000”(你的笔记本在5000端口环回),它应该连接你到Ubuntu vnc会话。

在一个侧面说明,确保你正在运行一个像你的SSH服务器上的fail2ban或denyhosts程序,这样你就不会受到黑客攻击。