我现在遇到的问题是,要使用 ansible-vault 加密字符串,我需要在命令行上指定--vault-id=foo@prompt
。
我并不经常使用加密字符串,因此我宁愿让我的游戏注意到我将使用加密字符串,并且仅在绝对必要时提示输入密码。
这可能吗?类似于
vars:
string1: !vault |
$ANSIBLE_VAULT;1.2;AES256;foo
66306438623164653061623661376331643537303931663562326336386234333935373661623261
3930633662616462316133633236383530356561346233640a386439316638313361333437386435
38346635626533313266663436666163386238616266623038666364323232393465656665643831
6437616339616463360a383263333965366264633562343965386137313364613737356666623562
3033
vars_prompt:
- name: "cryptpasswd"
prompt: "ansible-vault password"
private: yes
tasks:
- name: "secret string"
debug:
msg: "secret message is {{ string1 }}"
...然后我的密码是否可以在需要时以某种方式解密字符串?
谢谢。
答案1
您可以使用完全随机的密码字符串并将其添加到密码文件中。
在你的 ansible.cfg 文件中:
vault_password_file = vault_pass.txt
将文件 vault_pass.txt 和你的密码一起添加到你的 ansible 工作目录就完成了。
如果您使用 git,请确保将密码文件添加到您的 .gitignore 文件中。