【问题标题】:Installing VNCServer on Google Cloud Computing VM (UBUNTU)在 Google Cloud Computing VM (UBUNTU) 上安装 VNCServer
【发布时间】:2015-09-15 05:46:00
【问题描述】:
我正在尝试在 Google Compute Engine (GCE) 中的 VM 机器上安装 VNCServer,但没有成功。
我已按照this article 中给出的步骤进行操作。
但还是失败了。我收到以下错误:
"Time Out Waiting for a response from the host computer"
谁能告诉我这里出了什么问题?
【问题讨论】:
标签:
google-cloud-platform
google-compute-engine
vnc
vnc-server
【解决方案1】:
由于您的 RealVNC 客户端超时,我建议您执行以下检查:
- 确保您的 VM 在 GCE 中具有
vnc-server 网络标记,并且其 VPC 网络具有正确的 vnc-server 防火墙规则,前者作为目标标记。
- 按照guide 中的建议,检查是否没有iptables
VM 中阻止 Xtightvnc 流量的规则:
$ sudo iptables -L
- 检查服务器实际上在端口 5901 上运行的 VM(因为 George 指出端口号是从 5901 开始自动选择的):
$ pgrep -a Xtightvnc | grep port
(寻找-rfbport 5901)
- ...并且它正在 VM 内响应:
$ nc localhost 5901
(它应该返回 RFB 003.008 标头)
- 然后,(如Keet 所建议的那样)从客户端计算机执行相同的检查以丢弃协议的其他更高级别问题:
$ nc [your VM's external IP address] 5901
【解决方案3】:
在在线服务器上安装 VNC 服务器需要几个基本步骤,如下所示。这可以应用于任何服务器类型,例如 AWS EC2、GCP 计算引擎、Azure VM,甚至是私有云中的服务器。
1) 步骤 1:在机器上安装 VNC 服务器
安装步骤可能因操作系统而异。所以谷歌并遵循任何适合您的操作系统的指南。确保在安装后为服务器上的 VNC 帐户设置正确的用户名和密码。
例如:CentOS - Guide
2)从服务器打开5901端口
这可以是防火墙配置、网络配置甚至是安全组配置。这取决于您使用的服务器。
3) 检查VNC服务器是否在服务器上运行
如果你已经安装了vncserver,你可以简单地使用下面的命令来启动服务器。
vncserver
并运行以下命令查看当前处于活动状态的 VNC 服务器。
vncserver -list
4) 检查VNC服务器是否可以从外部访问
打开终端并运行以下命令。让我们假设您的服务器公共 IP 是104.197.91.140。
$ nc 104.197.91.140 5901
// alternatively you can use telnet
$ telnet 104.197.91.140 5901
// the response should like this
RFB 003.008
如果成功,您可以继续下一步。如果不是,则表示以下情况之一。
- 您的服务器未公开端口 5901 且您的公共 IP 不可访问
- 您的服务器没有安装正确的 VNC。
5) 使用您的 VNC 客户端进行连接
这取决于您使用的操作系统。因此,您可以简单地 google 并找到您的相关应用程序。
【解决方案4】:
我已将“网络中的所有实例”添加为目标,并将端口指定为“全部允许”。如果像这样更改设置有效,那么问题出在哪里。
【解决方案5】:
您必须确保为您正在启动的每个控制台打开端口 tcp 5900+n。