可能重复:
SSH 公钥分发系统
需要帮助管理系统上的开发人员身份验证。我们有多个 CentOS 服务器(数据库、Web、Redis 等),能够以集中的(希望是)简单的方式控制对它们的访问非常重要。我们现在使用的是 authorized_keys 文件,我们从开发人员生成的密钥中复制密钥数据。然而,这不是那么可扩展和灵活,因为每当有人进入/离开团队时,我们都需要更新多台服务器。
我们可行的一种方案是,在执行之前,将一个集中文件复制到每个服务器sshd restart
。不过,在我投入时间实现这一点之前,我感兴趣的是找出是否有更好的模式或替代方法。
对多个用户进行身份验证的常用模式是什么,特别是在多服务器环境中?如果解决方案还允许我们定义某种角色来封装访问权限(即,前端开发人员可能不需要访问数据库服务器,这是一个非常牵强的例子),那么将获得加分。
非常感谢!
答案1
首先我要说的是,我不管理很多Linux 机器。几乎所有我的客户都有 Active Directory,而且我使用 Kerberos 成功地pam_krb5
通过 AD 对 SSH 用户进行身份验证。想必您可以部署自己的 Kerberos 基础架构(代替 Active Directory)来完成类似的事情。