我按照Matt Wrock的非常有用的指南:了解和排除WinRM连接和身份验证(http://www.hurryupandwait.io/blog/understanding-and-troubleshooting-winrm-connection-and-authentication-a-thrill-seekers-guide-to-adventure),我能够在远程计算机上设置SSL连接,我使用了以下方法验证:
Test-WSMan -ComputerName "My DNS" -UseSSL
...返回了一条非错误消息 . 我也可以从powershell连接:
Enter-PSSession -ComputerName "My DNS" -Credential $cred -UseSSL
但是,当我运行以下python代码时:
import winrm
s = winrm.Session('My DNS', auth=('Remote Username', 'Remote Password'), transport='ssl')
r = s.run_cmd('ipconfig', ['/all'])
...我收到以下错误代码:winrm.exceptions.WinRMTransportError:500 WinRMTransport . [SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:590)
证书验证失败错误让我认为我未正确配置SSL配置;但是,我似乎能够从Powershell连接 .
任何人都可以告诉我我做错了什么或如何使用ssl正确连接?
谢谢你的时间
1 回答
pywinrm版本发现问题 .
使用python版本2.7.10和pywinrm版本(0.1.1) . 它没有任何错误,工作得很好 .
最新版本强制验证ssl证书,即使我们放置异常处理程序来忽略脚本中的证书 .