我无法通过家庭连接以外的方式 ssh 进入家庭服务器。
(请注意,连接到我的 wifi,也就是连接到我的服务器的 wifi,然后 ssh 进入我服务器的本地 ip,我成功了)。
我的服务器上运行的是 Ubuntu 20.04(稳定版),当前 SSH 版本为“OpenSSH_8.9p1 Ubuntu-3,OpenSSL 3.0.2 15 Mar 2022”,它在端口 22 上运行(默认设置)。我在 ufw 设置中允许从任何地方使用端口 22,然后应用它。在我的路由器设置中,我设置了端口映射规则,将端口 2200 上的请求转发到我的本地服务器,并在端口 22(运行 ssh 服务的端口)上抛出我的服务器的 MAC 地址(我读到 IP 可能会更改)。
这是我的路由器地图设置: 我的路由器设置;
这里有翻译:“abilitato”->“enable”,“Qualsiasi host tutte le interfacce”->“Any host all interface”
当我尝试ssh my_user@my_router_ip -p 2200
在我的终端中使用 ssh 时(我尝试使用 macOS 终端和 iPadOS 上的 WebSsh),请求开始,但几分钟后 ssh 失败并出现超时错误。
我做错了什么?谢谢
答案1
My_router_ip 是您的本地地址(192.168...),外部无法访问。
外部 IP 地址由您的提供商设置,通常在 24 小时后更改。
因此,您必须先找到您的“外部” IP 地址 - 但由于您不在家,因此这实际上不可行。
您应该使用动态 DNS 服务(在您的国家/地区寻找动态 DNS 服务)与您的盒子连接(“Fritzbox”具有 DynDNS 设置)。您将获得一个指向您的外部 IP 的 URL,您的 ssh 应该如下所示:
ssh my_user@someDynsName -p 2200
您应该意识到您将向外界开放防火墙。确保开放端口的接收器已加固。