对于我们必须存储(MySQL 用户的)密码的某种 yml 文件,我们使用 ansible-vault 加密来维护一些安全性。
问题是每次我们必须编辑时,我们都被迫输入密码。
我正在寻找如何解决这个问题,看起来很容易,但我还不能让它工作。
我在我的主目录中创建了一个文件,名为:
.vault_pass.txt
Run Code Online (Sandbox Code Playgroud)
在里面,我有密码。在我的存储库的 ansible.cfg 中,我有一个变量:
vault_password_file = ~/.vault_pass.txt
Run Code Online (Sandbox Code Playgroud)
没有按预期工作。所以我试图强制 ansible-vault 命令使用这个参数读取文件
# ansible-vault decrypt --vault-password-file ~/.vault_pass.txt vars/vars-mysql-config.yml
Run Code Online (Sandbox Code Playgroud)
输出错误:
ERROR! input is not vault encrypted data for vars/vars-mysql-config.yml
Run Code Online (Sandbox Code Playgroud)
似乎我在这里忘记了一些东西,但我无法找到正确的信息。
任何人有任何想法吗?
谢谢你们!
我猜你误用了decryptcommand 而不是view.
要查看加密文件使用view:
ansible-vault view --vault-password-file ~/.vault_pass.txt vars/vars-mysql-config.yml
Run Code Online (Sandbox Code Playgroud)
如果要解密文件并将其保留为纯文本,请使用decrypt:
ansible-vault decrypt --vault-password-file ~/.vault_pass.txt vars/vars-mysql-config.yml
Run Code Online (Sandbox Code Playgroud)
如果您尝试decrypt第二次运行命令,它将给您预期的错误:
错误!输入不是 vars/vars-mysql-config.yml 的保险库加密数据
因为文件已经是纯文本的。
| 归档时间: |
|
| 查看次数: |
8052 次 |
| 最近记录: |