2016-02-05 50 views
1

我跟着馬特Wrock的非常有益的指導連接:瞭解和排除WinRM的連接和認證, (http://www.hurryupandwait.io/blog/understanding-and-troubleshooting-winrm-connection-and-authentication-a-thrill-seekers-guide-to-adventure),我是能夠建立我的遠程機器上,我使用驗證的SSL連接:使用Pywinrm使用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?

感謝您的時間

回答

0

在pywinrm版本中發現問題。

使用python版本2.7.10和pywinrm版本(0.1.1)。它工作正常,沒有任何錯誤。

最新版本強制驗證SSL證書,即使我們把異常處理程序忽略了腳本中的證書。

+0

雙重檢查自簽名證書過期狀態,如果過期,則創建新的自簽名證書並將其複製到受信任的根證書頒發機構證書存儲區。 – Ashick