我怎样才能不输入一个可行的剧本的保险库密码?
我使用--ask-vault-pass
选项运行剧本,但我不想每次都输入保险库密码。
将存储保险库密码的文件路径添加到您的环境中(要使更改永久保存,请将这一行添加到您的~/.bashrc
文件中):
export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
将保险库密码写入该文件:
echo "my_password" > ~/.vault_pass.txt
运行你的剧本,不带--ask-vault-pass
选项:
ansible-playbook my_playbook.yml
引用:
设置默认密码源
如果您不想在命令行上提供密码文件,或者如果您使用一个保险库密码文件的频率高于其他任何文件,那么您可以设置
DEFAULT_VAULT_PASSWORD_FILE
配置选项或ANSIBLE_VAULT_PASSWORD_FILE
环境变量来指定要使用的默认文件。例如,如果您设置了ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
, Ansible将自动搜索该文件中的密码。这是有用的,例如,如果你使用Ansible从一个持续集成系统,如Jenkins。您引用的文件可以是包含密码(以纯文本形式)的文件,也可以是返回密码的脚本(具有可执行权限集)。
sible docs: https://docs.ansible.com/ansible/latest/user_guide/vault.html#setting-a-default-password-source
- 在公共CI和源代码控制存储库(如BitBucket)上使用Ansible Vault的最佳实践是什么?: https://devops.stackexchange.com/q/709
- 如何在单个文件中存储/检索多个ansible-vault密码:https://devops.stackexchange.com/q/12927
- 什么是Ansible的配置相当于
--vault-password-file
: https://devops.stackexchange.com/q/703