是否可以在 vault_password_file 中为 ansible 散列密码?

Is it possible to hash the password in the vault_password_file for ansible?

我担心密码保管库文件以明文形式存储解密密码,但一直找不到任何解决方案。

今天我使用 ansible-vault encrypt 命令来加密我所有的变量。然后我创建了一个密码文件用于保管库密码,并将 ansible.cfg 中的 vault_password_file 行指向它。我不希望 ansible 系统上的用户每次 运行 剧本时都被提示输入保险库密码,这就是我们选择这种方法的原因。

一切正常,但我担心文件中的密码以纯文本格式存储。对我来说,它打败了加密其他信息的做法。我试图找到解决方案,但我找不到任何答案。

我想知道是否有任何方法可以对文件中的密码进行哈希处理,仍然允许 ansible 使用它进行解密?

有没有人有任何我可以探索的解决方案?

假设您正在使用源代码管理,您应该这样做 - 那么您可以像现在一样将 ansible_vault 密码存储在一个文件中,但使用 git-secret 或 blackbox (https://github.com/StackExchange/blackbox) 加密保管库密码文件。

git-secret 专门用于 git,blackbox 与 git 以及其他一些源代码控制提供程序一起使用。

使用 blackbox,您可以添加一个用户 public 密钥来加密您的文件,您的任何一个用户都可以解密该文件。如果他们离开,您只需删除他们的 public 密钥,然后就无法再访问该文件。

如评论中所提到的,在此之上的一个步骤将是一个专用的秘密管理软件工具,但这是一个足够简单的中间步骤来实现。