autossh 和放在 while 循环中的 ssh 有什么区别?

autossh 和放在 while 循环中的 ssh 有什么区别?

由此网站它说:

Autossh 是一个启动 ssh 副本并对其进行监控的程序,如果它死机或停止通过流量,则根据需要重新启动它。

但我真的看不出 autossh 和内部的 ssh 隧道之间的区别while loop。我个人使用这个 ssh 隧道脚本在隧道断开连接时重新启动隧道:

#!/bin/bash

while true; do
    ssh -vND 1080 username@host
    sleep 1
done

那么这两者有什么区别呢?如果 autossh 比while loop函数内部的 ssh 有更多好处,我很乐意使用它

答案1

主要区别在于autossh其中有很多选项,可以在其手册页中阅读。

例如:

-f      causes autossh to drop to the background before running ssh. The -f flag is stripped from arguments passed to ssh. Note that there is a crucial a difference between -f with autossh, and -f with ssh: when used with autossh ssh will be unable to ask for passwords or passphrases. When -f is used, the "starting gate" time (see AUTOSSH_GATETIME) is set to 0.

相关内容