如何减少 ssh 连接超时值
Posted
技术标签:
【中文标题】如何减少 ssh 连接超时值【英文标题】:how to decrease ssh connection timeout value [closed] 【发布时间】:2013-08-25 17:03:00 【问题描述】:我有一个完整的远程主机 IP 地址列表。我写了一个脚本来连接这个列表中的所有主机,一个接一个。我的问题是,有时当 IP 地址关闭时,脚本会等待一段时间(可能是几分钟)去执行下一个主机。所以我想减少这个等待时间。例如 10 秒后,我希望 ssh 连接超时,我的脚本尝试下一个 IP 地址。那么我该如何调整呢?
谢谢
【问题讨论】:
这是How to setup SSH timeout in shell script的副本 【参考方案1】:如果你调用 ssh 脚本,你可以使用类似的东西
ssh -o ConnectTimeout=10 <hostName>
其中 10 是秒数
【讨论】:
实际上我尝试做类似的事情: ssh-keygen for HOST in $(cat /scripts/ip_list); do ssh-copy-id -i ~/.ssh/id_rsa.pub $HOST done 所以我不知道在哪里可以使用 -o 选项。我可以尝试类似 [code] cat ~/.ssh/id_rsa.pub | ssh -o ConnectTimeout=10 username@$HOST 'cat >> .ssh/authorized_keys' 但问题是,其中一些远程主目录没有 ~/.ssh 文件夹。所以当找不到 ~/.ssh/authorized_keys 时命令会失败 如何将毫秒值添加到超时? 据我所知,ssh
选项 ConnectTimeout
的粒度为 1 秒,您可以使用的最小值为 1 秒。我同意将本地网络连接设置为 50-100 毫秒是有意义的。如需快速连接其他服务器,请查看设置ControlMaster
、ControlPath
和设置ControlPersist 1
。以上是关于如何减少 ssh 连接超时值的主要内容,如果未能解决你的问题,请参考以下文章