如何使用公共动态 IP 通过 SSH 连接到路由器后面的私有 IP

Cri*_*ris 5 ssh ip

在我的办公室里有两台PC,它们都位于具有自己的私有IP的路由器后面。我正在尝试通过 SSH 连接到它们,但它似乎只有在我的笔记本连接到同一 Wifi 时才有效(这意味着所有电脑都在同一网络中)。如何通过 SSH 在家工作?

我猜它使用的是公共 IP(您从 www.whatismyip.com 或类似网站获得的 IP),但我找不到一种方法来告诉 SSH 连接到特定的 PC。

另外,我有一个动态 IP,所以我设置了一个 DNS 服务器(使用 my.noip.com)。

顺便说一句,所有这些都在 Ubuntu 上。

提前致谢。

编辑:

我在 Internet 选项卡(启用 NAT 端口映射协议)下向路由器(苹果时间胶囊 A1470)添加了一些选项,并使用端口 22 和我感兴趣的 PC 的私有 IP 地址添加了端口映射设置。尽管如此,仍然不知道如何使用公共 IP 进入私有 IP。

编辑2:

显然,我的端口转发正在工作,但我认为我有两个 IP,一个用于路由器,一个用于公共 IP,尽管公共 IP 似乎无法到达路由器 IP。在我的路由器信息中有一个IP,类似于172.xxx;当我通过该 IP 进行 ssh 并指定端口时,我无法进入办公室中我感兴趣的两台 PC 中的一台,如果我更改端口(我之前在端口转发中设置的端口),我可以进入其他电脑。问题是外网的PC无法使用路由器中转发的IP。公共 IP 也无法工作,即使来自同一网络也是如此。

小智 4

您必须在路由器中添加端口转发规则,并设置所需计算机的 LAN IP 和端口 22 的目标 IP 地址。

您无法通过 SSH 指定要连接到哪台计算机,只能连接到 IP 地址(或可解析的域名)和端口(默认 22)。仅适用于您在路由器上设置了端口转发规则的用户。

但是,您可以向每台计算机添加多个规则,但每台计算机的 WAN 端端口必须不同,即。端口 22 只能使用一次。

例如:

  • WAN 端口 22 ---> LAN IP: 192.168.1.1 端口: 22
  • 广域网端口 2220 ---> 局域网 IP: 192.168.1.2 端口: 22
  • 广域网端口 2221 ---> 局域网 IP: 192.168.1.3 端口: 22

请参阅我对一个非常相似的问题的回答: 为什么我无法从网络外部访问我的网络服务器?