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

向Ansible Tower添加RHEL8主机时遇连接关闭问题求助

Ansible Tower添加RHEL 8主机执行剧本失败问题排查

问题场景

我正尝试将一台新的RHEL 8主机添加至Ansible Tower,配置的主机变量如下:

ansible_host: <host-ip>
ansible_port: 22
ansible_python_interpreter: /usr/bin/python2.7

随后通过Ansible Tower在该主机上运行剧本时,执行Gathering Facts任务(对应gather_facts模块)出现如下错误:

{
"_ansible_no_log": false,
"failed_modules": {
"setup": {
"failed": true,
"rc": 1,
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"module_stderr": "Shared connection to <host-ip> closed.\r\n",
"module_stdout": "\r\n"
}
},
"msg": "The following modules failed to execute: setup\n",
"changed": false,
"_ansible_verbose_override": true,
"ansible_facts": {}
}

我已确认Python版本及路径无误,请问这是已知问题吗?该如何解决?

常见原因及解决方法

1. RHEL 8默认无Python 2.7环境

RHEL 8默认不再预装Python 2,即使指定/usr/bin/python2.7,该路径可能实际不存在或未正确安装:

  • 在目标RHEL 8主机执行which python2.7,确认路径是否存在;
  • 若不存在,手动安装Python 2:
    sudo dnf install python2
    
    安装后路径通常为/usr/bin/python2,同步修改主机变量中的ansible_python_interpreter为该路径。

2. SSH连接权限或中断问题

错误提示Shared connection to <host-ip> closed,可能是Tower执行用户权限不足或SSH连接被提前中断:

  • 确认Tower使用的SSH密钥已部署到目标主机的authorized_keys中;
  • 检查目标主机sshd_config是否限制Tower用户登录,比如AllowUsers配置;
  • 手动从Tower服务器用相同用户SSH登录目标主机,验证连接及命令执行是否正常。

3. Ansible版本兼容性问题

旧版本Ansible与RHEL 8的Python环境可能存在兼容问题:

  • 确认Tower使用的Ansible版本支持RHEL 8,建议升级到稳定新版本;
  • 若无法升级,尝试在主机变量中指定Python 3:
    ansible_python_interpreter: /usr/bin/python3
    
    RHEL 8默认预装Python 3,此路径通常有效。

4. SELinux或防火墙限制

目标主机的SELinux或防火墙可能阻止模块执行:

  • 临时关闭SELinux测试:sudo setenforce 0,若问题解决,需配置SELinux规则允许相关操作;
  • 检查防火墙是否开放SSH端口(22),以及是否限制Tower服务器的访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 07:11:01