Ansible-vault:来自终端的密码

Ansibl-vault: password from terminal

如何将存储在环境变量中的ansible-vault密码传递给命令

ansible-playbook play.yml -i hosts --ask-vault-pass

我无法传递文件或使用交互式 shell 输入密码,因为这些命令来自 运行 来自不支持它们的管道。

我试过

echo $PASS | ansible-playbook play.yml -i hosts --ask-vault-pass

但这没有用。

我阅读了文档 https://docs.ansible.com/ansible/latest/user_guide/vault.html 但我在那里找不到解决方案。

github 中有一个未解决的问题 environment variable ansible https://github.com/ansible/ansible/issues/45214

作为解决方法,您可以在 ansible 服务器上使用 ANSIBLE_VAULT_PASSWORD_FILE 变量。

这个变量将指向保存解锁 ansible 保险库的密码的文件。