Ansible for Windows:WinRM HTTPS安装程序

2024-06-16 13:01:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些易懂的剧本,我想在一些Windows主机上运行。我遵循了不同的Ansible指南来设置WinRM,它们运行得很好,但是默认设置非常不安全,我希望有更多的产品准备就绪。然而,关于如何做到这一点的指导却少得可怜。到目前为止,我已经完成了以下工作:

在我的Windows box上:

  1. 使用提供的配置启用WinRM重新读取nsible.ps1脚本
  2. 将目标计算机配置为使用HTTPS/5986上的有效证书,而不是上面脚本生成的自签名证书
  3. 在WinRM中的目标计算机上启用了Kerberos和CredSSP身份验证方法。我的一些角色步骤需要CredSSP可靠地工作。在

到目前为止还不错,Windows侧的工作似乎还不错。然而,让Ansible连接起来是一场噩梦。我不知道如何让Ansible信任目标上的HTTPS证书,尽管添加了它。在Centos 7“推送箱”上,我完成了以下操作:

  1. 使用pywinrm安装Ansible和pip,请求kerberos和requests-credssp模块
  2. 将我的CA证书添加到/etc/pki/tls/certs和/etc/pki/CA cert
  3. 将我的库存设置为以下值:

ansible_user=ADMINISTRATOR@DOMAIN.COM

ansible_password=Password1

ansible_port=5986

ansible_connection=winrm

ansible_winrm_scheme=https

/#ansible_winrm_server_cert_validation=ignore

ansible_winrm_transport=credssp

打开证书验证后,连接失败,并出现以下错误:

fatal: [host.domain.com]: 
UNREACHABLE! => {
"changed": false, 
"msg": "credssp: HTTPSConnectionPool(host='host.domain.com', port=5986): Max retries exceeded with url: /wsman (Caused by SSLError(SSLError(\"bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)\",),))", 
"unreachable": true}

关闭证书验证后,它可以正常工作。在

所以我的问题是:我怎样才能信任我的CA证书?在


Tags: https脚本host目标windows计算机ansibleca
1条回答
网友
1楼 · 发布于 2024-06-16 13:01:30

在ansible控制主机上运行此程序:

python -c "import ssl; print(ssl.get_default_verify_paths())"

这样,您将看到python希望在哪里找到证书

确保CA信任证书是pem编码的 问候

相关问题 更多 >