我想使用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
}
答案 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**