我有一台Ubuntu 16.04虚拟机和两台MS Windows Server 2008 R 2虚拟机。
我按照this说明操作直到"一旦我们设置了这两个文件,我们就可以查看测试连接性了#34;。现在我想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:"
}
你知道它没有用吗?
答案 0 :(得分:1)
我得到了解决方案,但我不是满意,因为这对我来说不是正确的解决方案,但它确实有效。
在文件夹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"
}
答案 1 :(得分:-1)
为了能够配置Windows机器,您需要在Windows机器中运行此电源shell,首先为winrm生成证书文件。
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1