【发布时间】:2022-07-19 02:16:52
【问题描述】:
如何跳过为 ansible playbook 输入保险库密码?
我使用--ask-vault-pass 选项运行剧本,但我不想每次都输入保险库密码。
【问题讨论】:
标签: file ansible passwords ansible-vault
如何跳过为 ansible playbook 输入保险库密码?
我使用--ask-vault-pass 选项运行剧本,但我不想每次都输入保险库密码。
【问题讨论】:
标签: file ansible passwords ansible-vault
将存储库密码的文件路径添加到您的环境中(要使更改永久生效,请将此行添加到您的 ~/.bashrc 文件中):
export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
将保管库密码写入该文件:
echo "my_password" > ~/.vault_pass.txt
在没有--ask-vault-pass 选项的情况下运行您的 ansible playbook:
ansible-playbook my_playbook.yml
参考:
设置默认密码来源
如果您不想在命令行上提供密码文件,或者如果您比其他任何一个更频繁地使用一个保管库密码文件,您可以设置
DEFAULT_VAULT_PASSWORD_FILE配置选项或ANSIBLE_VAULT_PASSWORD_FILE环境变量来指定要使用的默认文件。例如,如果您设置ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt,Ansible 将自动在该文件中搜索密码。例如,如果您使用 Jenkins 等持续集成系统中的 Ansible,这将非常有用。您引用的文件可以是包含密码(纯文本)的文件,也可以是返回密码的脚本(设置了可执行权限)。
Ansible 文档:https://docs.ansible.com/ansible/latest/user_guide/vault.html#setting-a-default-password-source
--vault-password-file?:https://devops.stackexchange.com/q/703
【讨论】: