在没有静态 IP 地址的机器上通过 SSH 进入 Ubuntu Linux

在没有静态 IP 地址的机器上通过 SSH 进入 Ubuntu Linux

基本上,我该怎么做?

我想从工作的地方连接到我的家用电脑,但我的互联网是通过公寓楼的网络路由的,所以我没有我习惯的静态 IP 地址。

如果我的家用电脑没有静态 IP 地址,我该如何通过 SSH 访问我的家用电脑(如果有必要的话,我会在工作中使用 Putty)?

答案1

我认为您可能需要研究一种可以为您的家用计算机提供 DNS 域名的服务。以下是我多年来一直使用并取得巨大成功的一种服务:DynDNS网站

基本上,他们使用在您的计算机上运行的服务,每当您的家用计算机/路由器的 IP 地址发生变化时,该服务就会更新 DNS 记录。

答案2

在 LAN 中,设置路由器以将所需端口转发到本地计算机的 IP/主机。然后获取 DynDNS 服务以获取路由器的主机名。如果路由器的外部 IP 是动态的,则ddclient在分配新地址时使用它来自动更新。

答案3

您无法访问您的计算机,因为您位于某种 NAT 系统后面。换句话说,您的计算机位于私人内部网络上,并通过建筑物的 NAT 设备进行 NAT,处于他们的控制之下,因此从这个意义上说,没有简单的方法可以重新进入。

一种方法是创建一个从您的工作站发起的反向 SSH 隧道,通过 Internet 传出,目的地为您可以从家里连接的 ssh 守护程序。

一旦建立,您就可以从您连接的 ssh 主机通过反向隧道通过 ssh 连接到您设置反向隧道的本地主机(将通过反向隧道重定向到您的系统)。

希望这可以帮助?

之后,您可能需要研究为 cronjob 编写一个小脚本来保持此连接处于活动状态、断开连接时重新连接等,并正确使用 ssh-agent,实现无密码连接 - 如果设置正确,则密码只需要设置一次(如果是的话)。

答案4

您可以尝试使用 STUN 之类的工具或其他 NAT 穿透工具。

相关内容