You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Ansible遇到SSH错误时自动重试避免playbook运行失败

Ansible 全局SSH/PAM临时错误自动重试配置方案

以下配置均在ansible.cfg中修改,无需调整单个task代码,全局生效:

1. 任务级全局重试配置([defaults] 段)

添加以下参数:

[defaults]
# 全局任务失败默认重试次数,适配场景中2秒即可恢复的情况设置为3次即可
retries = 3
# 两次重试的间隔时间,单位为秒,设置为2秒匹配服务端恢复时间
retry_interval = 2

该配置为Ansible 2.2+原生支持,会自动重试所有执行失败的任务,已经执行成功的with_items条目不会被重复执行,不会影响批量操作的正确性。

2. SSH连接层重试配置([ssh_connection] 段)

添加以下参数,从SSH连接层面提前处理临时断连问题:

[ssh_connection]
# 配置SSH客户端本身的连接尝试次数和超时时间,遇到网络抖动/PAM临时故障时先由SSH层重试
ssh_args = -o ConnectTimeout=20 -o ConnectionAttempts=4
# 开启SSH长连接复用,减少频繁创建连接触发的服务端PAM校验阈值
control_persist = 120s

补充:你当前已开启的pipelining = True可以保留,该参数可以减少SSH连接建立次数,降低触发服务端临时认证限制的概率。

内容的提问来源于stack exchange,提问作者opticyclic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:45:02