无法通过 SSH 从 Unix 连接 VNC 到 Windows

无法通过 SSH 从 Unix 连接 VNC 到 Windows

我主要有 Unix 设备,并使用 VNC 通过 SSH 连接到所有设备。但我有一台 Windows 10 PC,我无法远程访问它。

在 Windows 10 PC 上,我安装了 TightVNC 服务器(版本 2.8.63),监听端口 5900。 我可以在没有 SSH 的情况下成功通过 VNC 连接到它。

我还在 Windows PC 上设置了 OpenSSH。它监听端口 22002。 我可以通过 SSH 成功登录到 PC。

接下来我使用 从我的 Unix 设备构建隧道。ssh -L 5901:localhost:5900 [email protected] -p 22002隧道成功建成。 接下来,我尝试从我的 Unix 设备建立 VNC 会话,连接到localhost:5901。这里失败了,我得到了以下响应:

连接“localhost”失败。无法与“localhost”通信。请确保远程计算机可用并且防火墙未阻止屏幕共享。

连接错误消息

我尝试过的事情:

  • 禁用 Windows PC 上的所有防火墙,以确保
  • 在 TightVNC 偏好设置中启用“允许环回连接”
  • 在 sshd_config 文件中,我设置了“GatewayPorts yes”、“PermitTunnel yes”和“AllowStreamLocalForwarding yes”

还有其他想法吗?

答案1

感谢 Romeo Ninov 指出这一点。在建立到 Windows 的 SSH 隧道时,需要使用环回地址,而不是 localhost。因此,不要使用:

ssh -L 5901:localhost:5900 [email protected] -p 22002

我需要使用:

ssh -L 5901:127.0.0.1:5900 [email protected] -p 22002

相关内容