仅使用 ssh 端口进行 TightVNC 端口转发?

仅使用 ssh 端口进行 TightVNC 端口转发?

我希望能够使用 VNC 连接到我的 Windows 机器。我安装了 TightVNC 和 freesshd。我将 TightVNC 设置为在 5899 上提供服务,将 freesshd 设置为在 2223 上提供服务。(TightVNC 关于端口转发的建议

如果我在路由器上转发端口 5899 和 2223,我可以直接(在 5899 上)并通过 ssh 端口转发连接:

ssh -p 2223 -L 5699:<myip>:5899 myaccount@<myip>

并连接到 localhost:5699。到目前为止一切顺利。

但是,如果我关闭路由器上的端口 5899,即使使用 ssh 端口转发也无法连接。我在通过 ssh 连接的 Windows 控制台上收到以下消息:

channel 3: open failed: connect failed: Connect failed

查看日志显示了很多我不明白的东西。“ssh -v”显示它正在尝试将本地 5699 端口转发到远程 5899,这是正确的。

如果可以的话,我想关闭 5899,因为这是一个没有帐户名的开放 VNC 端口,它只有一个 VNC 密码(长度限制为 8 个字符!)。似乎不安全。

我如何关闭 5899 并且仍然能够通过 ssh 隧道连接?

笔记: 我读为什么我无法从网络外部连接到我的 VNC 服务器?却不知道该如何应用这些建议。

答案1

在这里用我的评论来回答并解决这个问题。

<myip>我发现您在此处输入的内容存在问题5699:<myip>:5899。我不确定这是否会导致该错误,也许会,但看起来确实像是一个错误。我猜运行 sshd 的一端是您的 VNC 服务器。因此,使用 sshd 的一端应转发到 127.0.0.1,而不是通过任何路由器。因此它应该是 5699:127.0.0.1:5899,一些路由器允许您从内部 ping 您的公共 IP,我不知道这是否会通过互联网或只是私下进行,但在这里使用 127.0.0.1 更有意义,是的,端口 5899 不应在您的路由器上打开。

相关内容