Ansible:无法 ping windows 节点 [SSL:CERTIFICATE_VERIFY_FAILED]
Ansible: Unable to ping on windows node [SSL: CERTIFICATE_VERIFY_FAILED]
我有一台 Ubuntu 16.04 virtell 机器和两台 MS Windows Server 2008 R 2 virtell 机器。
我遵循 this 的指示,直到 "Once we have these two files setup, we can look to test connectivity"。现在我想 ping windows 个虚拟机。我在comman之后得到一个错误,但我不知道为什么。
执行:
stefan@ansible-server:~/ansible_test$ ansible windows -i host -m win_ping
答案:
[IP-ADRESS] | FAILED! => {
"failed": true,
"msg": "ERROR! ssl: 500 WinRMTransport. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:"
}
[IP-ADRESS] | FAILED! => {
"failed": true,
"msg": "ERROR! ssl: 500 WinRMTransport. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:"
}
你知道为什么它不起作用吗?
为了能够配置 windows 台机器,您需要 运行 在 windows 台机器中 shell 此功能,首先要为 winrm 生成证书文件。
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
我得到了解决方案,但我并不满意,因为这对我来说不是正确的解决方案,但它有效。
在文件夹中创建 ansible_test:
mkdir callback_plugins
nano callback_plugins/fix-ssl.py
在文件中写入:
import ssl
if hasattr(ssl, '_create_default_https_context') and hasattr(ssl, '_create_unverified_context'):
ssl._create_default_https_context = ssl._create_unverified_context
class CallbackModule(object):
pass
运行:
ansible windows -i host -m win_ping -vvvvv
结果:
10.92.0.38 | SUCCESS => {
"changed": false,
"invocation": {
"module_name": "win_ping"
},
"ping": "pong"
}
我有一台 Ubuntu 16.04 virtell 机器和两台 MS Windows Server 2008 R 2 virtell 机器。
我遵循 this 的指示,直到 "Once we have these two files setup, we can look to test connectivity"。现在我想 ping windows 个虚拟机。我在comman之后得到一个错误,但我不知道为什么。
执行:
stefan@ansible-server:~/ansible_test$ ansible windows -i host -m win_ping
答案:
[IP-ADRESS] | FAILED! => {
"failed": true,
"msg": "ERROR! ssl: 500 WinRMTransport. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:"
}
[IP-ADRESS] | FAILED! => {
"failed": true,
"msg": "ERROR! ssl: 500 WinRMTransport. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:"
}
你知道为什么它不起作用吗?
为了能够配置 windows 台机器,您需要 运行 在 windows 台机器中 shell 此功能,首先要为 winrm 生成证书文件。
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
我得到了解决方案,但我并不满意,因为这对我来说不是正确的解决方案,但它有效。
在文件夹中创建 ansible_test:
mkdir callback_plugins
nano callback_plugins/fix-ssl.py
在文件中写入:
import ssl
if hasattr(ssl, '_create_default_https_context') and hasattr(ssl, '_create_unverified_context'):
ssl._create_default_https_context = ssl._create_unverified_context
class CallbackModule(object):
pass
运行:
ansible windows -i host -m win_ping -vvvvv
结果:
10.92.0.38 | SUCCESS => {
"changed": false,
"invocation": {
"module_name": "win_ping"
},
"ping": "pong"
}