我在网上看到很多SSH隧道的例子,但是我仍然没有运气。 这是设置:
现在,这是我迄今为止所尝试的:
不幸的是,我一定是做错了,因为它似乎没有工作。 任何想法为什么,或者至less,我怎样才能尝试debugging这个设置的任何build议? 目前,我可以访问所有3台机器(Linux上的非root),所以我可以testing任何我想要的…
当我遇到一个非常类似的问题时(这是我的Linux通过Linux,我使用VNC端口5901):
首先,我们使得笔记本电脑上的所有到localhost:13389连接都将转到中间服务器(在端口3389上):
laptop$ ssh -L 13389:localhost:3389 my_user@LINUX_SERVER_IP
然后,我们把所有与中间服务器上的localhost:3389连接都转发到防火墙后面的PC(在端口3389上):
my_user@LINUX_SERVER_IP$ ssh -L 3389:localhost:3389 'PRIVATE_DOMAIN\my_user'@PC_NAME
(请注意,该命令在中间服务器上的交互式shell中运行。)
现在,您应该能够连接到localhost:13389和远程PC上的访问端口3389。
由于它不工作,我们可以尝试一些事情。 我们将以某种方式来隔离问题的出处:
telnet localhost 3389来确保它已经打开并准备好连接了吗? 微软有一个很好的文章 telnet localhost 3389来检查它是否正确转发到远程PC? telnet localhost 13389 ,看看它是否一直转发。 只要你遇到一个错误停在那里,请添加评论,所以我们搞清楚了。
我认为你的使用ssh命令时使用了错误的语法。
既然你在Windows 7机器上运行PowerShellInsider SSH服务器,我假设你想要通过隧道到达SSH服务器,对不对?
无论如何,假设SSH服务器在标准端口上运行,在家用计算机上运行的命令应该是这样的:
$ ssh -N -L 22222:ip-address-windows7-at-work:22 user@linux-server
然后,使用本地套接字(22222)ssh到远程Windows 7中:
$ ssh localhost:22222
如果您尝试隧道远程桌面协议,则只需更改“正确的”端口号即可:
$ ssh -N -L 22222:ip_address_windows7_work:3389 user@linux-server