首页 文章

Ansible:我可以使用在Vault中加密的ssh密钥吗?

提问于
浏览
5

我们有一个ansible服务器设置,我们的ansible代码存储在git repos中 . ansible配置的所有服务器当前都使用来自控制服务器的SSH密钥进行访问 . 但是,我想将密钥包含在ansible git repos中(在Vault中加密) . 我想这样做:

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

2)感觉它应该在repos中,因为它是访问服务器的setup / config的一部分

3)我们在保险库中存储了其他数据,并且必须为保险库输入一个密码,另一个用于SSH密码短语是一种痛苦

我们通过在磁盘上创建一个临时文件来编写一个自定义任务的编码,但它有点像内置的内容 . 我也喜欢内置解密只保存ram文件的方式 . 另一个问题是我们找不到一个可以保证在发生故障的情况下运行的方法,因此清理我们创建的临时文件(有点像编程中的确保块)

有没有一种安全的方法来使用拱形ssh密钥?或者没有提到只是一种方法来提前询问ssh密码?

1 回答

  • 2

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

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

    将您的凭据提交到源代码存储库并不是一种好的安全做法(尽管我也已经这样做了) . 在ansible服务器上备份用户的主目录可以保护私钥免受硬盘故障的影响 .

相关问题