在 Ubuntu 中,我尝试使用 rdesktop 登录我朋友的 Windows 机器。首先,我可以使用 ssh 登录到他面向外部的 Linux 机器。然后从那里我可以使用 ssh 登录到他的 Linux 主机。此主机在 VirtualBox 内运行 Windows XP。有没有办法让我通过这两个 ssh 连接隧道传输 rdesktop(可能只需要第一个连接到面向外部的 Linux 机器即可进入网络,具体取决于 VirtualBox 的网络连接设置方式)。
谢谢
答案1
ssh -L <some port>:<remote Windows host>:<rdesktop port> <some user>@<external Linux machine>
然后将 rdesktop 连接到localhost:<some port>
。
答案2
这是我在 Windows 系统上使用 Cygwin 启用入站 RDP-over-SSH 的命令:
ssh -R 3389:localhost:3389 -f -N kgregory@rivendell
好的,让我们分析一下这个命令。首先,这是一个反向隧道:我的 Windows 机器没有打开入站端口,所以我实际上是通过建立出站连接来打开端口。
我要连接的主机是rivendell
,我正在转发端口3389
(这是命令中的第一个“3389”)。因此,sshd
rivendell 上运行着一个,它将监听该主机上端口 3389 的连接。
然后我将这些连接转发到localhost
(我的 Windows 机器)上的端口 3389,这恰好是 rdesktop 正在监听的端口。