基本上,我该怎么做?
我想从工作的地方连接到我的家用电脑,但我的互联网是通过公寓楼的网络路由的,所以我没有我习惯的静态 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 穿透工具。