Bash 如何减少ssh连接超时值

Bash 如何减少ssh连接超时值,bash,networking,ssh,timeout,client,Bash,Networking,Ssh,Timeout,Client,我有一个完整的远程主机ip地址列表。我编写了一个脚本来逐个连接列表中的所有主机。我的问题是,有时当一个IP地址关闭时,脚本会等待一段时间(可能是几分钟)去执行下一个主机。因此,我希望缩短等待时间。例如,10秒后,我希望ssh连接超时,我的脚本尝试下一个IP地址。那么我如何调整这个呢 谢谢如果您调用ssh脚本,您可以使用类似的东西 ssh -o ConnectTimeout=10 <hostName> ssh-o ConnectTimeout=10 其中10是秒数实际上,我尝试执

我有一个完整的远程主机ip地址列表。我编写了一个脚本来逐个连接列表中的所有主机。我的问题是,有时当一个IP地址关闭时,脚本会等待一段时间(可能是几分钟)去执行下一个主机。因此,我希望缩短等待时间。例如,10秒后,我希望ssh连接超时,我的脚本尝试下一个IP地址。那么我如何调整这个呢


谢谢

如果您调用ssh脚本,您可以使用类似的东西

ssh -o ConnectTimeout=10  <hostName>
ssh-o ConnectTimeout=10

其中10是秒数

实际上,我尝试执行如下操作:ssh keygen for HOST in$(cat/scripts/ip_list);dossh copy id-i~/.ssh/id_rsa.pub${HOST}完成了,所以我不知道在哪里可以使用-o选项。我可以尝试类似于[code]cat~/.ssh/id_rsa.pub | ssh-o ConnectTimeout=10 username@${HOST}'cat>.ssh/authorized_keys'的方法,但问题是,有些远程主目录没有~/.ssh文件夹。因此,当命令找不到~/.ssh/authorized_key如何向超时添加毫秒值时,它将失败?据我所知,
ssh
option
ConnectTimeout
的粒度为1秒,您可以使用的最小值为1秒。我同意,对于本地网络连接,将超时设置为50-100毫秒是有意义的。如果需要快速连接到其他服务器,请参阅设置
ControlMaster
ControlPath
和设置
ControlPersist 1
。这是