基本上我有两个networking与互联网连接在一起,让我们叫他们N1和N2。 在每个networking上,有一台计算机,C1(在N1)和C2(在N2)。 在任何networking路由器(R1和R2)和计算机之间没有端口转发。
C2也运行一个ssh服务器。 我的post的全部目的是, C1将如何通过SSH连接到C2? 如上所述,没有端口转发,所以即使networkingN1和N2中的任何一个具有静态IP,它也不会工作。
以下networkinggraphics应该帮助清除情况: 
传说:
sshd 该系统的一个主要方面是pipe理员可以在R1networking内的任何PC上pipe理C2。 因此,在R1和N1中的任何一台PC之间都不能有任何端口(因为它无法使用N1上的任何一台计算机来pipe理C2)。
一个简单的方法是使用Internet上可访问的第三台服务器(具有公共IP地址)。 做一个从C2到这个服务器的反向连接(我将称之为Middleman的M)(使用选项-R)。 这基本上会打开一个新的端口,比如M上的端口8000,不pipe连接到M:8000的端口将被转发到端口22上的C2。
接下来,只需连接到M:8000即可到达C2。
您可以查看此问题以获取更多信息: SSH端口转发