如何使用多个 LDAP 服务器创建单个身份验证点?

如何使用多个 LDAP 服务器创建单个身份验证点?

我目前正在创建一个中央服务系统,用户可以通过该系统连接到虚拟机。我的目标是为所有可能的用户提供单点身份验证。

我面临的问题是:

我需要将用户分为两个不同的 LDAP 服务器(内部和外部用户)。现在,LDAP 配置本身并不困难,并且没有那么多用户(每台服务器上可能有 20 个)。这不是一个冗余系统,有两个独立的 LDAP 服务器,每个服务器托管不同类别的用户。 UID 和 GID 将是唯一的,甚至用户的名称也会不同(内部用户与外部用户)。

有没有办法在建立连接之前检查两个 LDAP 服务器上的用户帐户?主要要求是用户将拥有唯一的 UID 和 GID,并且他们将使用 SSH 密钥。

理想的情况是:

  1. 用户登录中央服务
  2. 正在内部 LDAP 上检查用户
  3. 如果他不参与其中,则正在使用外部 LDAP(第二个服务器)验证用户
  4. 如果他也不属于该服务器,系统将踢出该用户。

我在这里看到了与我的问题相关的帖子: 如何代理多个 LDAP 服务器,并且仍然在代理上对用户进行分组?

但是,我不确定这是否适用于我的情况,或者是否有其他方法可以实现这一点。

我在研究中还发现使用 nslcd 也是一种解决方案。

答案1

OpenLDAP 允许您拥有多个后端。您可以定义一个真实的数据库后台mdb和两个代理后端反向LDAP。当然,您必须对所有这些使用不同的数据库后缀。

通过此配置,您可以让此 OpenLDAP 服务器充当 LDAP 代理,同时还创建本地组条目。在这些组条目中,您可以将 LDAP 后端的 DN 设置为成员

PS:您能否详细说明一下为什么需要两个单独的 LDAP 服务器?

相关内容