ansible-playbook without --ask-vault-pass?



我怎样才能不输入一个可行的剧本的保险库密码?

我使用--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