2017-11-24 27 views
0

일부 Windows 호스트에 대해 실행하고 싶은 일부 장난 재생 기능이 있습니다. 필자는 WinRM을 설정하기위한 다양한 Unsible 가이드를 따라 갔지만 정상적으로 작동했지만 기본 설정은 매우 안전하지 않으므로 더 많은 준비가 필요합니다. 그러나이를 수행하는 방법은 매우 희소합니다. 오히려/5986 HTTPS에 유효한 인증서를 사용하도록 제공된 ConfigureRemotingForAnsible.ps1 스크립트를 Windows 용 : WinRM HTTPS 설정

  • 구성 대상 시스템을 사용하여 WinRM을 사용

    1. : 내 Windows 상자에서

      : 지금까지 나는 다음과 같은 짓을했는지 위의 스크립트에서 생성 한 자체 서명 된 인증서보다

    2. WinRM의 대상 컴퓨터에서 Kerberos 및 CredSSP 인증 방법을 사용합니다. 내 역할 단계 중 일부는 CredSSP가 안정적으로 작동하도록 요구합니다.

    지금까지 그렇게 좋았습니다. Windows 측은 제대로 작동하는 것 같습니다. 그러나, 연결하는 것을 얻는 것은 악몽을 증명하고 있습니다. 나는 Anabilities가 그것을 추가 함에도 불구하고 표적에 대한 HTTPS 인증서를 믿을 수있는 방법을 알아낼 수 없다. 내 CentOS의 7 '푸시 상자'에 나는 다음과 같은 짓을했는지 :

    1. 이 requests_kerberos 및 requests_credssp 모듈을 Ansible를 설치하고 pywinrm와 핍
    2. 추가 모두 내 CA 인증서의/etc/PKI/TLS/인증서 표시 및/etc
    3. 이 다음에 내 인벤토리를 설정/PKI/CA-CERT : 인증 유효성 검사

    [email protected]

    ansible_password=Password1

    ansible_port=5986

    ansible_connection=winrm

    ansible_winrm_scheme=https

    /#ansible_winrm_server_cert_validation=ignore

    ansible_winrm_transport=credssp

    가 연결되어 다음과 같은 오류와 함께 실패합니다

    fatal: [host.domain.com]: 
    UNREACHABLE! => { 
    "changed": false, 
    "msg": "credssp: HTTPSConnectionPool(host='host.domain.com', port=5986): Max retries exceeded with url: /wsman (Caused by SSLError(SSLError(\"bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)\",),))", 
    "unreachable": true} 
    

    인증서 유효성 검사가 해제되어 있으면 제대로 작동합니다.

    그럼 내 질문 : 어떻게 CA CA cert를 신뢰할 수 있습니까? ansible 제어 호스트

  • +0

    있는지 확인 인증서를 찾을 것으로 기대하고 당신이 볼이 방법 NTLM을 사용할 수 없으며 안전하지 않습니다. HTTPS를 제대로 확인해야합니다. 그렇지 않으면 인증서 유효성 검사를 무시하면 문제가 없습니다. 솔직히이 종류의 것은 표준 문서에없는 것이 기괴하다고 생각합니다. – Matt

    +0

    명확성을 위해 SSL (https)은 인증서를 사용하지만 Kerberos는 인증서를 사용하지 않습니다. SSL을 사용하는 경우 인증서는 제어 노드가 아닌 원격 Windows 상자에 설치해야합니다. [내 작업은 다음과 같습니다.] (https://groups.google.com/forum/#!searchin/ansible-project/skinnedknuckles%7Csort:date/ansible-project/3uSUemHNGsY/odRqM_E5BQAJ) 내 Windows 박스에서 Anipal 작업을 할 수 있습니다. – skinnedKnuckles

    답변

    0

    실행이 :

    python -c "import ssl; print(ssl.get_default_verify_paths())" 
    

    파이썬은

    는 CA 신뢰 인증서가-PEM 인코딩 관련

    +0

    그 명령은 CA 인증서가/etc/pki/tls/certs에 추가되어야한다고 했으므로 그렇게했습니다. CERT는 Windows가 PEM으로 인코딩 한 코드이기 때문에 base64로 내 보냅니다. 여전히 작동하지 않으며 인증서가 신뢰되지 않습니다. – Matt