首页 > 解决方案 > Ansible WinRM:以“[Errno 111] Connection denied”退出

问题描述

当我尝试通过 WinRM 模块连接到我的 Windows 主机时,我在 Ansible 中得到执行“连接被拒绝”。

有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

测试.yaml:

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

库存/主机

[vm]
10.10.10.10

group_vars/全部

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 中做错了什么?

PS 目标主机是 Windows Server 2012

标签: windowsansiblewinrm

解决方案


我没有配置 WinRM。

使固定:

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

推荐阅读