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

CentOS7上Ansible2.7.5通过WinRM连Windows的两类报错求解决

解决CentOS7上Ansible 2.7.5通过WinRM连接Windows的OpenSSL相关报错

你遇到的这两个报错本质上都是CentOS7 yum源自带的pyOpenSSL版本过于老旧导致的,系统默认的0.13.1版本不支持Ansible 2.7.5连接WinRM所需的新特性,下面是一步一步的解决方法:

步骤1:卸载系统自带的旧版pyOpenSSL

首先把之前用yum装的老版本卸载掉:

sudo yum remove -y pyOpenSSL

步骤2:确保pip可用并升级

CentOS7默认可能没有pip,先安装pip,再升级到较新版本避免安装依赖时出问题:

# 安装pip
sudo yum install -y python-pip
# 升级pip
sudo pip install --upgrade pip

步骤3:安装兼容版本的pyOpenSSL和cryptography

因为CentOS7用的是Python2.7,所以要选择支持Python2.7的最新兼容版本,推荐安装pyOpenSSL 19.1.0和cryptography 2.8(这个组合和Ansible2.7.5适配性很好):

sudo pip install pyOpenSSL==19.1.0 cryptography==2.8

步骤4:安装WinRM相关依赖

确保Ansible连接WinRM所需的pywinrm和CredSSP支持包也安装完整:

sudo pip install pywinrm pywinrm[credssp]

验证安装

安装完成后可以查看版本确认:

pip show pyOpenSSL cryptography

输出应该显示pyOpenSSL版本为19.1.0,cryptography为2.8。

现在重新运行你的Ansible ping任务,应该就能正常连接Windows机器了。

报错原因补充

  • 第一个报错X509_up_ref找不到,是因为旧版pyOpenSSL绑定的OpenSSL库没有这个函数;
  • 第二个报错TLSv1_2_METHOD找不到,是因为旧版本不支持TLS1.2协议,而WinRM通常要求用TLS1.2来建立安全连接,尤其是使用CredSSP认证的时候。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:29:48