gpt4 book ai didi

Ansible:我可以使用保管库中加密的 ssh key 吗?

转载 作者:行者123 更新时间:2023-12-02 21:27:22 25 4
gpt4 key购买 nike

我们有一个 ansible 服务器设置,我们的 ansible 代码存储在 git 存储库中。目前,ansible 配置的所有服务器都使用我们控制服务器的 SSH key 进行访问。不过,我想将 key 包含在 ansible git 存储库中(在保管库中加密)。我想这样做:

1) 如果我们的 ansible 服务器遭到入侵/出现不可恢复的硬盘故障/其他一些故障,我们不必生成新的 ssh key 并将其复制到每个 ansible 服务器,然后才能再次运行 ansible 任务

2)感觉它应该在存储库中,因为它是访问服务器的设置/配置的一部分

3) 我们还有其他数据存储在保管库中,并且必须输入一个保管库密码和另一个 SSH 密码,这很痛苦

我们考虑编写一个自定义任务,通过在磁盘上创建一个临时文件来完成此任务,但感觉它应该是内置的。而且我喜欢内置解密仅在 RAM 中保存文件的方式。另一个问题是我们找不到在失败的情况下保证运行的方法,因此清理了我们创建的临时文件(有点像编程中的确保 block )

有没有安全的方法来使用存储的 ssh key ?或者如果失败只是预先询问 ssh 密码的方法?

最佳答案

理想情况下,每个用户都应该拥有自己的私钥,他们使用控制服务器上的私钥来访问部署帐户。这样,如果某人离开或不再需要访问服务器来运行,您可以更轻松地撤销他们的访问权限。这还允许您控制它们运行的​​服务器。

为了避免每次都提示输入 SSH 密码,请使用 ssh-agent,它将凭据缓存在内存中并避免出现提示。我用这个startup script在我的设置中,效果很好。

将凭据提交到源代码存储库并不是良好的安全实践(尽管我也这样做过)。在 ansible 服务器上备份用户的主目录可以保护私钥免受硬盘驱动器故障的影响。

关于Ansible:我可以使用保管库中加密的 ssh key 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34980475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com