首页 文章

Ansible以本地用户身份连接到Windows主机 - 错误401/500

提问于
浏览
1

尝试使用Ansible与Windows主机通信时出现401/500错误 .

[root@rhel7]# ansible windows -i hosts.ini -m win_ping -vvvv
<192.168.10.10> ESTABLISH WINRM CONNECTION FOR USER: ansibleuser on PORT 5985 TO 192.168.10.10
<192.168.10.10> WINRM CONNECT: transport=plaintext endpoint=http://192.168.10.10:5985/wsman
<192.168.10.10> WINRM CONNECTION ERROR: 401 Unauthorized.
<192.168.10.10> WINRM CONNECT: transport=plaintext endpoint=https://192.168.10.10:5985/wsman
<192.168.10.10> WINRM CONNECTION ERROR: 500 WinRMTransport. [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
192.168.10.10 | FAILED => 500 WinRMTransport. [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

hosts.ini:

[windows]
192.168.10.10 

[windows:vars]
ansible_ssh_user=ansibleuser 
ansible_ssh_password=password
ansible_ssh_port=5985
ansible_connection=winrm

用户ansibleuser是本地用户,具有本地管理员权限 . Ansible版本是1.9.2

我可以使用RDP成功连接到服务器,winrm设置看起来正确,防火墙已禁用 .

我用tcpdump取HTTP标头,请求没有Authorization参数 . 没有任何想法 .

POST /wsman HTTP/1.1
Accept-Encoding: identity
Content-Length: 0
Host: 192.168.10.10:5985
Content-Type: application/soap+xml;charset=UTF-8
Connection: close
User-Agent: Python WinRM client

请帮我解决这个问题,谢谢

1 回答

  • 4

    官方Ansible文档中的原因是错误的:ansible_ssh_password是不正确的参数,正确的是ansible_ssh_pass

相关问题