在没有" -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上运行)
谢谢, 吉文
答案 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
,这可能是无关的,但可能对其他人有帮助。