我经常发现当我外出时我需要家里的机器上的文件,所以我想在我的家用机器上设置 ssh 服务器以便能够安全地通过互联网登录。据我所知,这需要在我家里的 ADSL 路由器上设置一些端口转发,然后我就可以 ssh 进入(使用 ADSL 路由器的 IP 地址),并且使用我可以用 创建的公钥/私钥对应该是安全的ssh-keygen
。
我的问题是,它是否要求我的路由器 IP 地址是静态的或事先已知的?据我所知,我的 ISP 可能会动态更改我的 IP 地址,因此我可能会发现有些日子我无法登录,除非回家并在 Google 上搜索“我的 IP 地址是什么?”。有没有解决这个问题的常用方法,消费者 ISP 通常多久更改一次您的 IP 地址?
除了大量文件之外,我还想访问流程和设备,所以我对云或 Dropbox 之类的答案不感兴趣。
答案1
处理此问题最简单的方法是使用动态 DNS 服务...我使用 Dyndns。他们现在更注重高级服务,但您仍然可以从他们那里获得免费域名...http://www.dyndns.com/services/upgrades/freevspro.html
谷歌动态DNS,你还会发现很多其他的。
许多路由器都内置有这些服务。
答案2
听我说,您不想使用 Dropbox 来存储所有文件,但如何使用它来随时掌握您的 IP 地址?我使用一个 bash 脚本每小时查找一次我的 IP,并将其记录在 Dropbox 的一个文件夹中。这样,我就可以随时掌握我的 IP 地址,因为我的智能手机可以使用 Dropbox。然后,我只需查找我的 IP 并使用上网本上的密钥对通过 ssh 登录到我的服务器即可。我在这里写过一篇关于此内容的博客:http://www.datarookery.com/w/2012/02/22/whats-my-ip-dropbox-style/
答案3
如果你确实可以访问可以通过 SSH 进入的公共 IP,则可以使用 从本地计算机设置反向隧道ssh -R 20000:localhost:22 user@publicipaddress
。 你需要做一些工作才能使其在网络断开连接时持续存在,但除此之外它可以工作并且已经内置。 查找ssh reverse tunneling
。
你还应该看看页面风筝以可靠方式贯穿各个子网。