为了方便起见,我将ssh化名为autossh -M0,而且效果很好。
但是它总是存在错误,这会导致我的脚本出现问题。
例如:
ssh me@myserver 'true' # equivalent to: autossh -M0 me@myserver 'true'
echo $? # 1我该怎么解决这个问题?
(脚本中的一种变通方法是使用/usr/bin/ssh而不是ssh。但如果可能的话,我想解决这个问题。)
发布于 2022-06-21 03:15:37
从手册页:
有一个“启动门”的时间。如果第一个ssh进程在启动后的前几秒钟内失败,autossh假设它从未“走出启动门”并退出。这是为了处理初始失败的身份验证、连接等。这一次默认情况下是30秒,并且可以调整(请参阅下面的AUTOSSH_GATETIME环境变量)。
因此,将AUTOSSH_GATETIME设置为零可以解决以下问题:
AUTOSSH_GATETIME=0 ssh me@myserver 'true'
echo $? # 0如果您没有键入密码或密码,也可以使用-f标志autossh (您可以将其添加到别名):
ssh -f me@myserver 'true'
echo $? # 0https://unix.stackexchange.com/questions/706906
复制相似问题