AWX突然要求安装sshpass无法连接虚拟机模板求助
AWX SSH连接报错"需安装sshpass"的排查解决方法
核心误区先明确:报错要求安装的
sshpass,是需要装在**AWX的执行环境(控制节点/容器)**里,而非目标虚拟机模板。AWX通过本地Ansible调用sshpass发起连接,所以必须在AWX运行Ansible的环境中完成安装。步骤1:在AWX执行环境安装sshpass
- 传统AWX部署(物理/虚拟机节点):
- 登录AWX控制节点
- 执行对应系统的安装命令:
- RHEL/CentOS系:
yum install -y sshpass - Debian/Ubuntu系:
apt-get install -y sshpass
- RHEL/CentOS系:
- 验证安装:
which sshpass,有路径输出即为安装成功
- AWX Operator(K8s部署):
- 查找AWX的task pod:
kubectl get pods -n awx - 进入容器:
kubectl exec -it <awx-task-pod-name> -n awx -- bash - 执行上述对应系统的安装命令
- 查找AWX的task pod:
- 传统AWX部署(物理/虚拟机节点):
步骤2:验证AWX凭证配置
- 打开AWX控制台,检查对应主机/模板的凭证:
- 确认凭证类型为Machine
- 确保勾选
SSH Password选项,且密码输入正确 - 手动在AWX执行节点用
ssh root@<目标模板IP>测试密码是否能正常登录
- 打开AWX控制台,检查对应主机/模板的凭证:
步骤3:排查目标模板的SSH配置
- 登录目标虚拟机模板,检查sshd配置:
- 打开
/etc/ssh/sshd_config,确认PasswordAuthentication字段为yes(若为no则修改) - 重启sshd服务:
systemctl restart sshd
- 打开
- 检查目标模板的防火墙/安全组,确保允许AWX节点IP访问22端口
- 登录目标虚拟机模板,检查sshd配置:
步骤4:直接测试Ansible连接
- 在AWX执行环境中,跳过AWX界面直接验证连接:
输入密码后若返回ansible <目标模板IP> -m ping -u root -kpong,说明Ansible环境正常,问题可能出在AWX配置或缓存
- 在AWX执行环境中,跳过AWX界面直接验证连接:
步骤5:重启AWX服务(可选)
- 若以上步骤均无问题,尝试重启AWX清除缓存:
- 传统部署:
systemctl restart awx - K8s Operator部署:
kubectl rollout restart deployment awx -n awx
- 传统部署:
- 若以上步骤均无问题,尝试重启AWX清除缓存:
内容的提问来源于stack exchange,提问作者Nemrode
相关产品推荐
相关产品推荐

