运行 VNC 的 Ubuntu 服务器

运行 VNC 的 Ubuntu 服务器

我可以使用四台计算机:
1 台 Ubuntu Server 桌面版(版本 10.04)
1 台 Mac Mini(Snow Leopard)
1 台 Windows 桌面版(Windows 7)
1 台 Windows 笔记本电脑(Windows Vista)

前三台电脑将始终位于家庭网络上。我的目标是通过 SSH 从笔记本电脑连接到服务器,然后通过 VNC(或其他远程桌面软件)控制 Windows 和 Mac 电脑。这样做的目的是比使用 VNC 直接访问 Mac 或 Windows 桌面稍微提高一点网络安全性。

我已成功使用 SSH 连接到服务器,但无法成功实现远程桌面连接。如能得到帮助,我将不胜感激。以下是我目前所做的:

根据此处的说明: http://www.stuartellis.eu/articles/vnc-on-linux/ 我安装了以下内容:

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

然后我使用 vncpasswd 命令设置了密码。为了尝试连接到 Mac,我按照在 superuser.com 上的一个帖子中找到的说明进行操作,然后转到“系统偏好设置 > 共享”,并启用“屏幕共享”。

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

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

我肯定我遗漏了一些重要的东西,但我不确定是什么。我需要安装 GUI 吗,还是它随我安装的 vnc 包一起提供?

答案1

我建议更好的想法是使用内置功能ssh 进行隧道/端口转发通过 ssh 客户端将一些本地端口打开到目标主机,并在 Windows 系统上使用 rdp,在 Mac 系统上使用 vnc。

对于 Linux 主机,如果你想要图形化访问,我建议没有机器(NX)。

答案2

我对您的过程有点困惑。您是否通过 SSH 连接到 Ubuntu 系统,然后在通过 ssh 连接的 Ubuntu 服务器上输入 vncserver?

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

我假设家里的三台电脑都在路由器或防火墙之类的东西后面,并且你刚刚为你的 ubuntu 系统打开了 ssh。

正如 fenix 所说,您可以使用 ssh 端口转发,以使 Ubuntu 系统上的某个端口表现得就像 Mac 或 Windows 系统上的端口一样(Ubuntu 必须有权访问这些端口)。您必须转发路由器中的另一个端口以指向 Ubuntu,以便将其用于 VNC。设置隧道后,通过您设置的端口 VNC 连接到 Ubuntu 将把您连接到您在 ssh 隧道中指定的任何机器。

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

如果我对您尝试做的事情的任何假设不正确,请告诉我。

编辑: 因此,路由器后面有 ubuntu 服务器、mac mini 和 windows。您可以通过 ssh 访问 ubuntu 服务器。

现在,使用您的笔记本电脑,从内部网络外部打开 Putty。输入会话的所有信息(主机名等)。在左侧向下滚动到连接 -> SSH -> 隧道

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

在您的笔记本电脑上,在 Putty 中完成这些设置后,您便可以打开一条隧道,从您的笔记本电脑的端口 5000 到远程计算机的端口 5900(VNC 端口)。现在,您应该能够在笔记本电脑上打开到“localhost:5000”(您的笔记本电脑的端口 5000 环回)的 VNC 连接,它将把您连接到 Ubuntu VNC 会话。

附注:请确保您在 ssh 服务器上运行了类似 fail2ban 或 deniedhosts 的程序,这样您就不会遭受暴力攻击。

相关内容