目标是从外面连接到我家的电脑。ISP阻塞所有端口(对带有静态ip地址的业务包要求$$$ ),因此在家庭路由器上简单的端口转发不起作用。
我使用putty将侦听端口隧道到远程服务器: R2221:###.###.###.###:2221 (为了使事情更简单,测试服务器是运行在我家windows机器上的简单ftp服务器)(必须指定整个ip地址- OpenSSH 1.0运行在linux通配符地址上,导致拒绝连接) (GatewayPorts设置为on)。
Netstat -a确认linux盒上的端口2221是打开和监听的。但是,每当我试图连接到该端口时,它就会挂起。命令行ftp客户端写着“连接到###.###.###.###”,仅此而已。运行netstat再次显示了与端口2221的数十个打开的连接,所有连接都来自我的windows框(我尝试使用浏览器和命令行ftp客户端)。
我错过了哪一步?
尝试了RDP,VNC和FTP --它们都挂起了,它们都在通过我的家庭网络(或我的家庭路由器)连接时连接。
编辑设置如下:
PC 1 (windows)在端口2221上运行FTP服务。它使用PuTTY将监听端口隧道到PC 2 (linux)。当运行netstat时,PC 2确实显示侦听端口。连接到PC 2上的端口2221,无论是从PC 2还是从PC 3连接,都会导致挂起。
编辑2 Aaaand和它的工作。使用127.0.0.1代替远程机器的ip地址是纠正它的原因。非常感谢。
发布于 2014-09-21 17:04:03
您确定您的-R命令是正确的吗?根据您的说法,我认为命令应该是R2221:127.0.0.1:2221。-R ssh选项以port:host:hostport的形式执行以下操作:它在远程端打开端口port,并将到该端口的连接转发到本地地址host:hostport,该连接是从本地机器建立的。
若要使本地计算机(运行ssh客户端的计算机,例如PuTTY)连接到运行在同一台计算机上的本地FTP服务器,请使用127.0.0.1作为地址。
它还解释了为什么您会看到一种奇怪的行为:当您实际连接到xxx.xxx:2221时,它将连接转发到相同的地址xxx.xxx:2221,然后得到某种循环。
https://stackoverflow.com/questions/25961452
复制相似问题