使用-f选项时自动退出

时间:2016-02-04 10:19:01

标签: linux ssh autossh

在没有" -f"的情况下运行autossh时选项,一切正常。 添加" -f"选项确实将autossh发送到后台,但在正确建立ssh隧道后,autossh本身退出,保留ssh连接而不使用monitor。

这是我正在运行的命令:autossh -f -M 20000 -N -L 0.0.0.0:5601:10.10.0.8:5601 10.10.0.8

任何人都知道什么会导致这个问题?或者 - 任何人都知道如何在使用" -f"时调试autossh? (使用AUTOSSH_DEBUG = 1时是否产生任何日志文件?)

(我在Ubuntu 14.04上运行)

谢谢, 吉文

2 个答案:

答案 0 :(得分:2)

看到没有人有更好的建议...尝试在daemontools等看门狗下运行autossh。使用此方法,autossh作为supervise守护程序的前景子项运行(因此,没有-f切换)。您可以使用svc命令启动和停止它,并且可以使用multilog记录其所有输出。

对于我来说,这种方法在生产箱上已经证明足够可靠。

答案 1 :(得分:0)

在macOS上我遇到了autossh -M 0 -R 1234:localhost:22工作的问题,但添加-f以使autossh在后台运行会记录以下内容并且autossh会立即死亡:

2018/04/10 12:00:06 autossh[67839]: ssh exited with status 0; autossh exiting

添加-N(“不执行远程命令。”)修复了问题:

autossh -f -M 0 -N -R 1234:localhost:22

看到你在命令中已经有-N,这可能是无关的,但可能对其他人有帮助。