AutoSSH,解决你所有的 <连接丢失> 问题
发布于 2014年5月5日
我喜欢 SSH。我是说,我真的非常非常喜欢 SSH。它是我的系统管理工具箱中最通用、最有用、最强大的工具。 然而,SSH 的一个问题是,当它断开时,它不会自动恢复。 别误会我的意思。使用 SSH 恢复很容易,特别是如果您已设置用于身份验证的公钥/私钥对(我会在 这里 演示如何操作)。 但是,如果 SSH 连接断开,则很难重新建立连接。
过去,我做过类似的事情,例如将 SSH 命令包含在一个无限 WHILE 循环中,这样如果它断开连接,它就会简单地重新开始。(我在本月的开源课堂中讨论了 WHILE 循环。)但是,使用 AutoSSH,即使 SSH 会话仍然处于活动状态,但实际上并未连接,它也会断开僵尸会话并重新连接一个全新的会话,无需任何交互。

图片来源:AllenMcC,维基百科用户
我个人使用 AutoSSH 来保持反向隧道在双 NAT 后面的远程数据中心内处于活动状态。 远程进入数据中心非常困难,但是如果我可以从双 NAT 私有网络内部建立一个到我的本地服务器的隧道,那么进出就变得轻而易举。 然而,如果该 SSH 隧道断开,我就会被锁定。 就我个人而言,数据中心位于整个大陆之外,因此开车过去是不可能的。 使用 AutoSSH,如果出现问题,它会不断尝试重新建立连接直到成功。 该程序已经多次拯救了我,而且因为它非常有用,所以 AutoSSH 获得了本月编辑选择奖。 它很可能已经在您的发行版的存储库中,但您可以在 http://www.harding.motd.ca/autossh 网站上查看。