我主要有 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