VNC 代理跳转,可能使用 ssh

VNC 代理跳转,可能使用 ssh

我在特定机器上经常使用 VNC。但它位于一个我无法直接访问的单独网络上。

+----------------+     +----------------+
| Linux          |     | Windows        |        +---------------+
| VNC client     |     | OpenSSH Server |        | Linux         |
|   192.168.1.100-------192.168.1.22    |        | VNC server    |
|                |     |      10.10.1.33----------10.10.1.44     |
+----------------+     |                |        |               |
                       +----------------+        +---------------+

目前,我通过 RDP 连接到桥接网络的 Windows 计算机。从 RDP 桌面,我启动 VNC 客户端连接到 VNC 服务器。中间的 Windows 计算机运行 OpenSSH。我有没有办法使用它,以便直接连接到 VNC 服务器?

我目前针对ssh和的解决方案scp是:

ssh -J 192.168.1.22 10.10.1.44
scp -o=ProxyJump=192.163.1.22 10.10.1.44:file .

如果可能的话,我更愿意让 Windows 机器保持原样,并从客户端执行此操作。这是因为我实际上有很多这样的 Windows 桥,每个桥都有一个独立的 10.10.1.x 网络,每个网络上都有许多 VNC 服务器。我将其用作vinagrevnc 客户端和x11vncvnc 服务器。

答案1

如果您已经有 SSH 连接,则只需添加端口转发:

ssh -J 192.168.1.22 -L 5990:127.0.0.1:5900 10.10.1.44

-L 5990:127.0.0.1:59005990是本地机器的任意端口号。您将 VNC 客户端连接到此端口。 是127.0.0.1:5900目标地址和端口。这假设您的 VNC 服务器在端口 5900 上运行。目标地址127.0.0.1是从服务器的角度来看的,您也可以将其替换为10.10.1.44

相关内容