即使以太网断线,我也希望通过 WIFI 保持 SSH 连接。有以太网和 WIFI 连接,但是如果拔掉以太网,我仍然会失去 SSH 访问权限。我在 Raspberry Pi 上执行此操作,但这个问题可能适用于任何运行 Linux 的设备。
如果我丢失了两个互联网连接中的一个,有没有办法保持 SSH 连接继续?
每当以太网断开时,即使主板仍有互联网,SSH 主机也会中断。使用 ngrok 或 cloudflared (argo) 的隧道也会发生这种情况。
答案1
解决这个问题最简单的方法(但这不是你的问题的答案)是使用 tmux 或 screen,这样你就可以恢复你的会话。
为了确保会话不会中断,您需要确保 IP 源和目标保持可用。有很多方法可以做到这一点,尽管没有一个是微不足道的。
我能想到的最通用的方法是确保您通过 VPN 连接。如果您使用 OpenVPN 之类的东西(尤其是如果您使用多个连接选项),只要 VPN 隧道仍然存在并且您的 IP 不变,您的 TCP 连接就会继续。即使您的底层连接或位置发生变化,只要您的运行设备保持完好,也是如此。
我认为您也可以使用通道绑定来解决问题 - 将以太网和 WiFi 设备绑定到 bond0 接口并使用该接口而不是底层接口。处理绑定平衡可能有点棘手 - 但主动备份模式应该可以工作。
您可能还可以将 WIFI 连接的 IP 地址替换为通常分配给以太网连接的 IP 地址,但检测和执行此操作可能会有问题。