我转发了端口 22,并将我的 WAN IP 发送给了本地网络之外的两个朋友,其中一个使用 ubuntu,另一个使用 win10。他们使用 SSH 连接到我的机器没有任何问题。
之后,我立即将我的 WAN IP 发送给了两个同事,当他们尝试使用 SSH 连接到我的机器时,却超时了。我尝试了 SSH 服务器测试服务,例如https://infobyip.com/sshservertest.php并且它也无法连接,而前两个朋友可以连接。
最后,同样的命令ssh xxx.xxx.xxx.xxx
对我使用 ubuntu 和 win10 的两个朋友有效,对我使用 ubuntu 和 win10 的两个同事无效。这些人之间唯一的区别是位置:我的两个朋友来自我的城市,而这两个同事来自另一个城市。这可能是他们和信息通过网站无法连接到我的机器?
答案1
你确定你有公共 WAN IP 吗?在我居住的地方,一些提供商会将你置于一个你可以想象的大型 LAN 中,因此你的外部路由器 IP 并不是真正的 WAN 公共 IP,只有该提供商的其他客户才能连接到你。
您的朋友使用的是同一家提供商的服务吗?这也许可以解释这种奇怪的行为。
编辑-可能的解决方案:
打电话给你的提供商并要求一个真正的公共 IP,有些会给你这个可能性(它可能不免费)
反转连接,以便您打开它,您可能需要查看 ssh 反向隧道(如果您事先知道谁需要连接到您,并且他们没有与您相同的“问题”,那么这很有意义)
使用 ngrok 之类的服务,它允许您在互联网上“公开”服务,您基本上连接到 ngrok(因为连接是从您到他们,所以没有问题),然后其他人可以连接到您的 ngrok-exposed-service 并代理到您(ngrok 有一个免费版本,但有一些限制,你可以尝试一下)
答案2
不同的城市根本不应该有问题。
也许您的同事的互联网提供商对 SSH 连接进行了非常严格的过滤。也许您的 WAN IP 在此期间发生了变化。也许您的 LAN IP 发生了变化(因此端口转发不再起作用),您需要对其进行修复。
很抱歉没能提供更多帮助。