我已经开发了一个 Ansible playbook 几周了,因此,我对这种技术的经验相对较短。我的部分策略包括在整个清单中使用自定义的 ansible_ssh_user
来对主机进行配置,但是,这样的用户将需要其自己的 SSH 密钥对,这将涉及一些关于持有/存储其对应私钥的计划。在生产环境中,该 playbook 将被克隆/拉取并在某个特定的 playbook node 中运行,其角色是配置剩余的基础设施。
起初,我想只是将私钥放在 playbook git 存储库中,但是我仍然对此有所顾虑,主要是因为明显的安全原因和相关的常识,因此我需要请教您这个问题。
鉴于这一情况,请回答以下跟进问题:
- 在基于 Ansible 的开发环境中,在源代码控制中保存私有 SSH 密钥是否合理?
- 该做法是否仅适用于开发环境,而另一个本地 Git 分支将用于保存实际的生产SSH 私钥?
- 最好是通过 Ansible Vault 解决这种情况吗?我以前从未使用过它,但无论如何,我还不能确定是否适合使用它。
- 在您的经验中,您将如何处理生产环境中的此类情况?在这种特殊情况下,最佳做法是什么?