autossh总是错误退出

autossh总是错误退出

为了方便起见,我使用了别名sshautossh -M0效果很好。

但是它总是错误退出,这会导致我的脚本出现问题。

例如

ssh me@myserver 'true'      # equivalent to:  autossh -M0 me@myserver 'true'
echo $?     # 1

我该如何解决?

(脚本中的解决方法,使用它/usr/bin/ssh代替ssh。但如果可能的话,我想解决这个问题。)

答案1

从手册页:

有一个“起跑门”时间。如果第一个 ssh 进程在启动后的最初几秒钟内失败,autossh 会假设它从未“走出起始门”,然后退出。这是为了处理初始失败的身份验证、连接等。该时间默认为 30 秒,并且可以调整(请参阅下面的 AUTOSSH_GATETIME 环境变量)。

因此,将 AUTOSSH_GATETIME 设置为零可以解决这个问题:

AUTOSSH_GATETIME=0 ssh me@myserver 'true'
echo $?     # 0

如果您没有输入密码或密码短语,您还可以使用标记-fautossh您可以将其添加到别名中):

ssh -f me@myserver 'true'
echo $?     # 0

相关内容