如何减少 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 毫秒是有意义的。如需快速连接其他服务器,请查看设置ControlMasterControlPath和设置ControlPersist 1

以上是关于如何减少 ssh 连接超时值的主要内容,如果未能解决你的问题,请参考以下文章

如何解决SSH连接Linux超时自动断开

华为模拟器ssh连接超时

如何现在ssh超时时间阿

如何避免SSH Secure Shell Client连接Linux超时,自动断开

如何在Linux中增加SSH连接超时的时间

如何减少 unix telnet 连接超时