我之前曾问过如何使用中介服务器配置2个SSH隧道,以便通过它们运行远程桌面,但我设法使其正常工作。现在,我正在尝试使用相同的机器执行相同的操作,但是顺序相反。设置如下:
- 专用网络中的Windows 7 PC,位于防火墙后面。
- 公共访问Linux服务器,可以访问PC。
- 我希望在家中使用Windows 7笔记本电脑从PC上进行“远程桌面”。
我在笔记本电脑上使用Putty创建了从它到Linux服务器的反向隧道R60666 localhost:3389
。
我在PC上使用Putty在从PC到Linux服务器之间创建一条常规隧道:L60666 localhost:60666
。
我通过SSH连接到Linux服务器,并运行telnet localhost 60666,它似乎产生了预期的输出,如我在此处收到的调试提示中所述。
我尝试将远程桌面从PC连接到笔记本电脑:localhost:60666
。它询问我的用户名和密码,单击“确定”,它在笔记本电脑上锁定了当前会话(因此,我在笔记本电脑上而不是台式机上看到了欢迎屏幕),在“远程桌面”屏幕上显示了“欢迎”消息,然后它只是变黑了。它不会断开连接,不会提供任何错误,并且我无法在“远程桌面”屏幕中执行任何操作。我在Windows XP笔记本电脑上尝试了相同的设置,但遇到了相同的症状。我也尝试使用不同于60666的端口,但没有任何变化。有人知道我在做什么错吗?
更新:正如@jwinders指出的那样,我无法telnet PC 3389
直接从Linux服务器运行。由于Windows防火墙有一个规则允许端口3389上的所有连接,因此我不知道是什么阻止了它。幸运的是,我能够创建从Linux机器到PC的SSH隧道ssh 3389:localhost:3389 'domain\user'@PC
。