为了连接到windows主机,我需要传递清单文件中的凭据。这是我的清单文件:
[windows]
100.100.100.100
[windows:vars]
ansible_user=Adminuser
ansible_password="Mypassword"
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignoreAnsible文档说凭据应该用ansible-vault加密。我可以在清单文件中使用使用ansible-vault加密的变量文件吗?如果是这样,我如何将我的ansible-vault凭证传递到我的清单文件?我还将在我的行动手册中使用凭证,如下所示:
- hosts: windows
gather_facts: no
vars_files:
- vars.yml
tasks:
- win_domain_membership:
dns_domain_name: my.domain.com
hostname: ansible-host
domain_admin_user: {{ admin_user }}
domain_admin_password: {{ passwd }}
domain_ou_path: "OU=Windows,OU=Servers,DC=ansible,DC=com"
state: domain
register: domain_state然后,我将使用ansible-vault为这个剧本加密我的变量文件。
---
admin_user:myusername@my.domain.com
passwd:mypassword然后在命令行中将我的ansible-vault凭据传递给我的剧本:
$ ansible-playbook myplaybook.yml --ask-vault-pass是否可以将我的清单中使用的变量文件和我的行动手册中使用的变量文件存储在同一个ansible-vault中?这样我就可以在命令行传递这两个文件的ansible-vault凭据了吗?
发布于 2021-04-18 21:03:35
ansible-vault命令加密单个文件。Ansible在运行时对其进行解密,并以与文件未加密时相同的方式进行解释(因此您不能“将我的清单中使用的变量文件和我的剧本中使用的变量文件都存储在同一个ansible-vault中”,因为这是两个不同的文件)。
我只需从清单中删除该变量,如下所示:
[windows]
100.100.100.100然后使用以下内容(ansible-vault create groups_vars/windows.yml)将group_vars/windows.yml创建为vaulted文件:
ansible_user: Adminuser
ansible_password: "Mypassword"
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore当你有一个以windows组为目标的游戏时,Ansible将自动应用group_vars/windows.yml中的变量。
https://stackoverflow.com/questions/67134392
复制相似问题