我需要从远程 Unix 机器连接到防火墙后面的特定 Windows 机器。
为此,我在 Windows 机器上安装了 TightVNC 服务器 (2.8.8 GPL)。它设置为监听 14900,并配置为“允许回送”,并且仅有的环回连接。
如果我尝试在同一台 Windows 机器上运行telnet 127.0.0.1 14900
,它会立即连接并打印出 VNC 协议的开头 ( RFB...
)。到目前为止一切顺利。
现在我使用 PuTTY 从 Windows 计算机通过 ssh 连接到远程 Unix 计算机。我在 PuTTY 会话中设置的隧道之一是R14900:127.0.0.1:14900
。
然而,当我尝试在远程 Unix 机器上运行它时vncviewer 127.0.0.1::14900
,它会犹豫一秒钟然后声明:vncviewer: VNC server closed connection
。如果我在远程 Unix 机器上尝试相同操作telnet 127.0.0.1 14900
,它也会短暂连接然后断开连接。
问题:
- 如果两种情况下新连接的远程 IP 都是 127.0.0.1,TightVNC 服务器如何区分来自同一台机器的连接和通过 ssh 隧道的连接?
- 我怎样才能克服这种聪明才智,让我无需将 Windows 机器暴露给 LAN 的其余部分即可进行连接?
答案1
好的,没关系——再次重新启动 PuTTY 会话后,一切都开始正常工作......