我正在寻找一种在 ansible 中安全处理密码的方法。基本上,我希望避免每次在远程计算机上需要 root 或管理员访问权限时都输入密码,但保持一定的安全性(我知道任何解决方案都会略微降低安全性,但在进行大量开发工作时,这是一个可以接受的权衡)。
类似于 ssh-agent 的东西就很完美了,我可以输入一次密码(开始开发工作或登录时),然后在保持登录状态时它不会再次提示。理想情况下,该解决方案将同时支持 Linux 和 Windows。
我知道我可以ansible_password
在配置文件中设置,或者在 Linux 机器上设置 NOPASSWD,但这两个选项都不是很安全,而且后者不适用于 Windows。
也许某种加密保险库可以解密一次并存储在 ansible 可以访问的内存中安全的地方?
答案1
您的大多数秘密数据应使用以下方式加密ansible 保险库。然后您只需在运行时提供保险库密码。
由于您不想每次运行时都输入密码,如果您查看一下,您会发现互联网上有几个关于如何执行此操作的示例,但您基本上可以vault_password_file =
在 ansible.cfg 中设置一个以指向脚本。在该脚本中,您可以使用 GPG 代理暂时存储您的保管库凭据。