Подключение с помощью Pywinrm с ssl

Я следовал очень полезному руководству Мэтта Врока: Понимание и устранение неполадок подключения и аутентификации WinRM (http://www.hurryupandwait.io/blog/understanding-and-troubleshooting-winrm-connection-and-authentication-a-руководстводляискателейострыхощущений), и мне удалось установить 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?

Спасибо за ваше время


person user2079438    schedule 05.02.2016    source источник


Ответы (1)


Обнаружена проблема с версией pywinrm.

Используйте версию Python 2.7.10 и версию pywinrm (0.1.1). Он работал нормально без каких-либо ошибок.

Последняя версия принудительно проверяет сертификат ssl, даже если мы помещаем обработчики исключений для игнорирования сертификата в сценарии.

person Ashick    schedule 22.09.2016
comment
Также дважды проверьте статус истечения срока действия самозаверяющего сертификата. Если он истек, создайте новый самозаверяющий сертификат и скопируйте его в хранилище сертификатов доверенных корневых центров сертификации. - person Ashick; 22.09.2016