WinRM密码作为可加密的主机文件中的加密字符串?

时间:2019-09-13 12:51:00

标签: windows authentication encryption ansible winrm

我想使用WinRM通过ansible与Windows主机进行通信。 我已经配置了WinRM,并在ansible主机文件中以纯文本指定了凭据。 Ping正在工作。 现在,我想将密码指定为加密-但是这里最好的方法是什么?

我尝试通过以下方式使用保险柜功能:

ansible-vault encrypt_string password123 --ask-vault-pass

并尝试在hosts文件中指定输出,但没有成功。

[winclients]
testserver

[winclients:vars]
ansible_connection=winrm
ansible_winrm_transport=credssp
ansible_port=5986
ansible_winrm_scheme=https
ansible_winrm_message_encryption=always
ansible_winrm_server_cert_validation=validate
ansible_user=testuser
ansible_password=!vault |
          $ANSIBLE_VAULT;1.1;AES256
          38373237366432653838643061373035333931616466613564653836393862343939313431393064....  
      3234

但是现在我收到错误消息:

testserver | UNREACHABLE! => {
    "changed": false,
    "msg": "credssp: Received error status from the server: (3221225581) STATUS_LOGON_FAILURE 0xc000006d",
    "unreachable": true
}

1 个答案:

答案 0 :(得分:0)

我现在将所有内容都放入了hosts.yml中,但是现在的问题是,ansible尝试通过SSH进行连接,就像它忽略了winrm一样

winclients:
  hosts:
    testserver:
      vars:
        ansible_connection: winrm
        ansible_winrm_transport: credssp
        ansible_port: 5986
        ansible_winrm_scheme: https
        ansible_winrm_message_encryption: always
        ansible_winrm_server_cert_validation: validate
        ansible_user: testuser
        ansible_password: **encrypted_value**