![可靠地通过 SSH 连接到远程漫游 Linux 主机的最佳方式](https://linux22.com/image/1354486/%E5%8F%AF%E9%9D%A0%E5%9C%B0%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9E%E6%8E%A5%E5%88%B0%E8%BF%9C%E7%A8%8B%E6%BC%AB%E6%B8%B8%20Linux%20%E4%B8%BB%E6%9C%BA%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E5%BC%8F.png)
我有一台远程 Linux 主机,它随船环游世界。当船停靠港口时,船的网络会连接到(本质上)公共 Wi-Fi。当远程主机能够打电话回家时,我需要能够管理它。
我认为我需要做的是设置远程主机以在可以时连接到中央 VPN。然后我应该能够连接到同一个 VPN 并查看它,然后通过 SSH 连接到它。
是对的吗?
做到这一点的最佳/最简单/最可靠的方法是什么?
答案1
如果你还没有设置 VPN,那么从船上通过 SSH 返回本地系统会更简单,然后留下一个撤销端口转发到位:
ssh popeye@dryland -R 2222:127.0.0.1:22 -N
然后,只要 ssh 会话处于打开状态,您本地系统上的 ssh 到 localhost:2222 就会将您连接到船。按要求重启ssh,但如果您有办法检测到没有网络,请休眠。如果需要,请使用 RSA/DSA 密钥和/或 chrooted 用户来限制对系统的暴露。
如果你需要更多,你可以设置一个隧道使用tun
设备,它可以让你更接近使用 SSH 的 VPN:https://help.ubuntu.com/community/SSH_VPN
答案2
如果您不想设置 DynDNS,我认为您的方法是合理的。