首页 > 解决方案 > Ansibl-vault:来自终端的密码

问题描述

如何将存储在环境变量中的 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但在那里找不到解决方案。

标签: ansibledevopsansible-2.xansible-inventoryansible-vault

解决方案


这个环境变量ansible在github中打开了一个问题 https://github.com/ansible/ansible/issues/45214

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

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


推荐阅读