我可以使用 Putty 通过以下设置连接到我的私人工作网络:
- 主机名:login.example.com
- 端口:502
- SSH 转发端口:D8888
这将打开一个 SSH socks 代理,允许我访问内部服务器。我再次使用 Putty 通过上面的 socks 代理连接到内部 Ubuntu 服务器。
现在我想使用 VNC 获取服务器 GUI,但无法连接 socks 代理。我尝试转发端口,但由于我是新手,可能操作不正确。那么如何从我的 Windows 计算机运行 VNC 来访问远程 VNC 服务器?
本文没有帮助我使用 进行连接vncserver
。RDP 也不起作用。VNC 会话位于不同的服务器上,只能从login.example.com作为袜子代理。
注意:我可以使用上面的配置通过 SSH 连接到内部服务器login.example.com作为 Putty 中的 socks 代理。
答案1
如果您使用 RealVNC 查看器,如您引用的文章中所示,那么您应该能够执行以下操作:
- 使用 PuTTY 连接
login.abc.com
并设置D8888
转发(您说您已经这样做了)。 - 启动 RealVNC 查看器并单击
Options...
按钮。 - 选择
Connection
选项卡。 - 单击
Use these proxy settings
单选按钮。 - 设置。
Proxy type
SOCKS 5
- 设置。
Proxy address and port
localhost:8888
- 现在尝试连接到实际的 VNC 服务器,例如
vnc-server.abc.com:1
。不要使用localhost:1
,因为您应该通过 SOCKS 代理。
答案2
大多数 VNC 客户端不支持 SOCKS 代理,因此无法使用动态端口转发(D8888 中的 D)。您可以将本地端口转发到特定的机器+端口,但这意味着每个要通过 VNC 连接的远程系统都有一个这样的本地端口映射。(这是您链接到的文章中的内容 - 它显示了到 SSH 隧道另一端的本地主机的映射)。然后,您通过 VNC 连接到本地机器上的转发端口,并通过 SSH 隧道将其连接到特定的远程地址:端口。
转发端口:L8889 xxxx:5900(您想要通过 VNC 连接的机器的 xxxx 地址)
一些 VNC 客户端确实支持 SOCKS 代理,但它倾向于付费/专业版本。