【问题标题】:autossh exit when using the -f option使用 -f 选项时 autossh 退出
【发布时间】:2016-05-13 21:41:22
【问题描述】:

在没有“-f”选项的情况下运行 autossh 时,一切正常。 添加“-f”选项确实会将 autossh 发送到后台,但是在 ssh 隧道正确建立后 autossh 本身退出,使 ssh 连接没有监视器。

这是我正在运行的命令: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 上运行)

谢谢, 谢伊

【问题讨论】:

    标签: linux ssh autossh


    【解决方案1】:

    在 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,这可能是无关的,但可能对其他人有帮助。

    【讨论】:

      【解决方案2】:

      没有人有更好的建议...尝试在 daemontools 这样的看门狗下运行 autossh。使用这种方法,autossh 作为supervise 守护进程的前台子进程运行(因此,没有-f 开关)。您可以使用svc 命令启动和停止它,也可以使用multilog 记录其所有输出。

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

      【讨论】:

      • 感谢您的提示。 daemontools 看起来是解决该问题的可靠解决方法。现在我使用“screen”,它也允许我在没有“-f”的情况下运行它,但我认为对于生产用例,daemontools 是正确的工具。
      猜你喜欢
      • 1970-01-01
      • 2011-09-14
      • 2015-12-18
      • 2011-01-19
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多