SSH 和 Active Directory 身份验证

SSH 和 Active Directory 身份验证

是否可以设置 Linux(和 Solaris) SSH 服务器以通过以下方式验证用户:

即用户 john 是 Active Directory 中 Project1_Developers 组的成员。

我们在服务器 A(运行 Linux,服务器可以通过 LDAP 访问 AD)的 SSH 服务器 LDAP(或其他模块)身份验证配置中有一些内容,例如 root=Project1_Developers,Company_NIX_Admins。

当 john 使用他的用户名“john”和域密码连接到服务器 A 时,服务器会检查域中 john 的组,如果该组是“Project1_Developers”或“Company_NIX_Admins”,则使他本地成为具有 root 权限的 root 用户。

这个想法也是在服务器上只拥有一个“root”和一个系统用户,而不将用户“john”添加到 John 可以登录的所有服务器中。

有任何帮助或想法如何实现上述或类似的东西吗?最好使用 AD,但任何其他类似的解决方案也是可能的。

ps 请不要开启讨论以 root 身份通过 ssh 登录是否安全,谢谢 :)

答案1

本质上,您指的是通过与 Active Directory 服务器的 PAM-LDAP 绑定进行的 Linux PAM 身份验证。在这种情况下,您需要将 Linux 机器配置为通过 PAM(集中式“身份验证控制器”库)使用 AD 进行身份验证。

这样,John 就可以使用 AD 中自己的 uid 和密码登录到该框。

此外,您可以查看网络组或 Kerberos,以确定是否允许 John 连接到该特定框。

最后,由于您特别提到了 SSH,您可能还想查看 LDAP 的 LPK 补丁,这些补丁允许您在 LDAP 中存储 John 的 SSH 身份验证证书。

答案2

您不需要(手动)将 john 添加到所有服务器。配置 NSS、PAM 和 sudo 以使用 LDAP。

相关内容