我有一个 ssh 隧道设置如下:
ssh -N -L 1105:remote.server:25 office-machine&
我想编写一个脚本来设置检查,比如每分钟一次(我可以使用 cron 作业来做,也许),它将检查此连接是否已建立,否则它将建立连接(如果 vpn 已打开)。
我该怎么做才能检查 ssh 隧道?
提前致谢。
PS:我试过了
autossh -N -L 1105:remote.server:25 office-machine&
但它退出了。我怀疑这些选项是正确的。事实上,手册页/帮助表明没有 -N 和 -L 选项,而只有 -f 和 -M。
你可以用
autossh
这个。引用Ubuntu 联机帮助页:所以必须指定一个额外的监控端口
autossh
。选择一些端口 N 以便 N 和 N+1 都是空闲的,并将其与-M
选项一起使用,例如,您还可以使用 禁用监视
-M 0
。在基于 Debian 的系统上,autossh
可以自动选择一个空闲端口进行监控。如果您的 VPN 连接断开,
autossh
应通过监控端口检测到 SSH 连接不再有效,然后尝试重新启动它。在那之后: