允许系统帐户无需密码即可登录其他服务器

允许系统帐户无需密码即可登录其他服务器

我想允许用户“devel”以用户“devel”的身份使用公钥登录到任何其他服务器。此用户不是人类,而是一个仅用于脚本的帐户。我该如何实现这一点?Puppet 是正确的方法吗?每个来源服务器是否收到必要的密钥材料?我非常了解如何使用私钥和公钥进行 SSH 身份验证以及私钥的保密程度。

假设有 100 台服务器,私钥和公钥需要每 90 天更改一次。

答案1

这看起来像是 Hashicorp 的一个可能用例保险库

SSH 后端允许两种操作模式:

  • 一次性密码,需要在每台服务器上安装一个辅助组件,该组件使用 Vault 验证用户 - 客户端事先通过 API 查询 Vault,每次访问都会发出一个新密码

  • 动态密钥 - 基本上是一个代理服务器(为您工作),生成密钥对,为客户端发布私钥并在服务器上安装公钥 - 使用此方法,您需要将 Vault 的“永久”SSH 密钥分发给服务器,然后可以设置发给客户端的密钥的到期日期 - 当密钥对到期时,Vault 将从服务器中删除相应的公钥

这两种方法都可以自动化执行脚本。它们仍需要通过 Vault 进行身份验证,但您拥有单一控制点。

相关内容