我已经为这个问题奋斗了很长时间,几乎已经没有主意了。首先,关联到我的 shell 输出,我尝试在每种情况下显示尽可能多的信息。
我家里有一台 centos 7.2 服务器,路由器将端口 2222 重定向到服务器的 22。每当我 ssh 到路由器的公共 IP(来自我的 LAN 和外部连接)时,一切正常,我设法连接到我的盒子。
如果我借助 openVPN 从 LAN 外部连接到我的服务器,那么即使我在另一个子网中,我也能设法获得 ssh 连接。
但是,如果我尝试直接从我家的 wifi 连接,砰的一声,没有连接,它只是挂了。我根本不知道这怎么可能。而 google-fu 返回的结果却出现了相反的问题。我希望提供的日志至少可以使我的解释更清楚(忽略主机真实性警告,连接尝试没有按照 pastebin 上的顺序进行)
LAN 上没有其他计算机可以通过 SSH 连接服务器,所有计算机都将返回相同的输出。任何帮助都将不胜感激。
答案1
这是在使用内部网络的公共 IP 时典型的情况。
该示例的一些假设:
- 公共 IP
1.2.3.4
- 路由器内网IP
192.168.1.1
- CentOS 服务器 IP
192.168.1.100
然后我们有:
- 如果你在野外互联网上,你应该通过 SSH 连接到
1.2.3.4:2222
路由器将路由到的地方192.168.1.100:22
。 - 如果您使用的是内部网(在家中使用 WiFi),则应
192.168.1.100:22
直接使用,因为路由器不会在此处转换端口或外部 IP。