Кто-нибудь знает, как создать HTTPS-соединение, используя pywinrm для Windows сервера?
Я пробовал самостоятельно, но не могу установить sh соединение.
Шаги, которые я сделал до сих пор:
- Установлено и импортировано pywinrm
pip install pywinrm
- Сгенерированный сертификат и ключ:
openssl req -nodes -new -x509 -keyout key.pem -out server.pem
- Преобразованный server.pem в server.cer
openssl x509 -inform PEM -in server.pem -outform DER -out server.cer
- Установлен
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