Ansible WinRM:通过“[Errno 111] Connection refused”退出

Ansible WinRM: Bails out with "[Errno 111] Connection refused"

当我尝试通过 WinRM 模块连接到我的 windows 主机时,我在 Ansible 中得到执行 "Connection refused"。

有ansible目录结构:

命令:

user@ansible:~/git/ansible-test$ ansible-playbook test.yml -i inventories/hosts 

PLAY [install vm] ***************************************************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************************************************
fatal: [10.10.10.10]: UNREACHABLE! => {"changed": false, "msg": "ssl: HTTPSConnectionPool(host='10.10.10.10', port=5986): Max retries exceeded with url: /wsman (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6298184d50>: Failed to establish a new connection: [Errno 111] Connection refused',))", "unreachable": true}
        to retry, use: --limit @/home/user/git/ansible-test/test.retry

PLAY RECAP ***********************************************************************************************************************************************************************************
10.10.10.10               : ok=0    changed=0    unreachable=1    failed=0   

ansible-test 目录层次结构:

ansible-test$ tree
.
├── group_vars
│   └── all
├── inventories
│   └── hosts
└── test.yml

2 directories, 3 files

test.yaml:

- name: test
  hosts: vm
  tasks:
    - name: get ipconfig information
      raw: ipconfg
      register: ipconfig_out
    - name: print stdout
      debug: var=ipconfig_out.stdout_lines

inventories/hosts

[vm]
10.10.10.10

group_vars/all

ansible_connection: winrm
ansible_user: Administrator
ansible_password: password

但是如果我通过 WinRM 从其他 windows 主机连接到目标 10.10.10.10:

 Set-Item wsman:\localhost\Client\TrustedHosts -value 10.10.10.10
 Enter-PSSession -ComputerName 10.10.10.10 -Credential (Get-Credential -UserName Administrator)

一切正常!

我在 Ansible 中做错了什么?

P.S。 目标主机是 Windows Server 2012

我没有配置 WinRM。

修复:

  1. https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html#winrm-setup
  2. 在我的 group_vars 文件中添加 ansible_winrm_server_cert_validation: ignore