Answers:
我不认为您可以通过RDP建立隧道,但是如果要rdp到服务器,然后启动ssh隧道回到您的客户端,则您的计算机将通过ssh连接。您既可以转发远程端口也可以转发本地端口,因此您可以做到这一点,而这一切都是相反的
编辑
如果您在客户端PC上安装了ssh服务器并将其设置为接受端口443上的ssh连接,则可以从服务器(使用ssh客户端连接)连接到ssh服务器(您的客户端),而无需打开任何端口( 443应该为https打开)
如果在客户端(而不是本机Windows客户端)上运行rdesktop,则可以使用rdp2tcp。
它允许您管理通过RDP连接转发的TCP端口。
我发现没有比rdp2tcp更好的东西可以用于Windows Server,该服务器不允许管理员访问或接口到接口的网络路由。您需要在rdesktop上进行OOP修补程序才能使其正常工作(转到最后一页以找到与rdesktop的最新版本相对应的修补程序)。我使用MinGW编译器来编译隧道的Windows端。
该文档也非常简洁。
似乎没有什么要紧的地方:如果您在其中使用带有“-”的“ addin”名称,则rdesktop无法正确解析命令行。这可能是需要适当转义的bashism,但我不确定。
请注意,据我所知,这不是“真正的” TCP隧道,它“看到” TCP协议数据单元,因为如果没有Windows方面的管理员权限,这是不可能的。它更像是带有预先配置的端点的袜子代理(虽然不是很重要)。如果您愿意的话,它还具有一个实际的袜子代理。
我可以轻松地管理它的交互式SSH会话,但是它并不能阻止SSH文件传输(在rdesktop控制台中提供了“虚拟通道断开连接”功能(rdp2tcp在其子进程中运行,并且由rdesktop执行stdout / stdin dup2'ed / piped ,但不更改stderr))。源中有一个名为RDP2TCP_PING_TIMEOUT的常量,它看起来像是保持通道超时的保持活动超时。假设中间网络有某种节流,将其从5s增加到900s似乎可以解决问题,并且它可以传输高达100MB的数据(在该特定网络上花费了大约15分钟的时间)。
不过,除此之外,我们发现rdp2tcp收到了SIGPIPE,它声称是由于rdesktop管道中断而收到的,尽管我无法从rdesktop代码或''的输出中找到任何证据。 “ lsof”显示SIGPIPE触发之前和之后rdesktop的管道数量没有变化。
如果发生这种情况,您将需要重新启动rdesktop,可能还需要重新启动隧道的Windows端。您可以使用rsync和恢复文件传输,也许可以自动化整个恢复过程。
所有这些都是假设Linux为您的客户端。由于在Cygwin / X上遇到了一些无关的问题,因此我没有在Windows上尝试过修补过的rdesktop。我猜它应该起作用。
另外,我的经验是使用SSH,但是通过任何其他方式进行的大量文件传输都可能遇到相同的问题。