Pywinrm и HTTPS соединение - PullRequest
0 голосов
/ 06 марта 2020

Кто-нибудь знает, как создать HTTPS-соединение, используя pywinrm для Windows сервера?
Я пробовал самостоятельно, но не могу установить sh соединение.

Шаги, которые я сделал до сих пор:

  1. Установлено и импортировано pywinrm pip install pywinrm
  2. Сгенерированный сертификат и ключ: openssl req -nodes -new -x509 -keyout key.pem -out server.pem
  3. Преобразованный server.pem в server.cer openssl x509 -inform PEM -in server.pem -outform DER -out server.cer
  4. Установлен server.cer на цели Windows сервер (внутри Trusted Root Cert. Auth ')

Примечания:

  • Служба WinRM работает поверх HTTPS, который был протестирован с другой машины на основе Windows с использованием другого сертификата
  • Я использую MacOS Mojave, Python 3.7.6

А теперь я я не могу установить sh winrm соединение, скрипт

import winrm

destination = 'https://10.0.0.1:5986'
username = 'user'
password = 'password'
cert_pem = 'crt-temp/server.pem'
cert_key_pem = 'crt-temp/key.pem'

session = winrm.Session(destination, 
                        auth=(username, password), 
                        transport='certificate', 
                        cert_pem=cert_pem, 
                        cert_key_pem=cert_key_pem)
result = session.run_ps('hostname')
print(result.std_out)

и полученную ошибку:

запросы. исключения / .SSLError: HTTPSConnectionPool (host = '10 .0.0.1 ', port = 5986): максимальное количество повторных попыток превышено с помощью url: / wsman (вызвано SSLError (SSLCertVerificationError (1,' [SSL: CERTIFICATE_VERIFY_FAILED]) сертификат подтвердит неудачу d: невозможно получить сертификат локального эмитента (_ssl. c: 1076) ')))

Как устранить эту проблему?


Использование: https://github.com/diyan/pywinrm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...