对于我们必须存储密码(MySQL用户)的某种yml文件,我们使用ansible-vault加密来保持一定的安全性。
问题是我们每次编辑时都被迫输入密码。
我正在寻找如何解决这个问题并且看起来很简单,但我无法使其正常工作。
我在我的主目录中创建了一个名为:
的文件.vault_pass.txt
其中,我有密码。在我的存储库中的ansible.cfg中,我有变量:
vault_password_file = ~/.vault_pass.txt
没有按预期工作。所以我试图强制ansible-vault命令用这个参数读取文件
# ansible-vault decrypt --vault-password-file ~/.vault_pass.txt vars/vars-mysql-config.yml
输出错误:
ERROR! input is not vault encrypted data for vars/vars-mysql-config.yml
我似乎忘了这里的东西,但我找不到合适的信息。
有人对此有任何想法吗?
谢谢你们!
答案 0 :(得分:1)
我猜你误用了decrypt
命令而不是view
。
要查看加密文件,请使用view
:
ansible-vault view --vault-password-file ~/.vault_pass.txt vars/vars-mysql-config.yml
如果要解密文件并以纯文本格式保留,请使用decrypt
:
ansible-vault decrypt --vault-password-file ~/.vault_pass.txt vars/vars-mysql-config.yml
如果您尝试第二次运行decrypt
命令,它将为您提供预期的错误:
ERROR!输入不是vars / vars-mysql-config.yml
的保险库加密数据
因为文件已经是普通文本。