Ansible-vault不能使用--vault-password-file

时间:2017-02-08 09:46:32

标签: ansible

对于我们必须存储密码(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

我似乎忘了这里的东西,但我找不到合适的信息。

有人对此有任何想法吗?

谢谢你们!

1 个答案:

答案 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

的保险库加密数据

因为文件已经是普通文本。