我目前正在创建一个中央服务系统,用户可以通过该系统连接到虚拟机。我的目标是为所有可能的用户提供单点身份验证。
我面临的问题是:
我需要将用户分为两个不同的 LDAP 服务器(内部和外部用户)。现在,LDAP 配置本身并不困难,并且没有那么多用户(每台服务器上可能有 20 个)。这不是一个冗余系统,有两个独立的 LDAP 服务器,每个服务器托管不同类别的用户。 UID 和 GID 将是唯一的,甚至用户的名称也会不同(内部用户与外部用户)。
有没有办法在建立连接之前检查两个 LDAP 服务器上的用户帐户?主要要求是用户将拥有唯一的 UID 和 GID,并且他们将使用 SSH 密钥。
理想的情况是:
- 用户登录中央服务
- 正在内部 LDAP 上检查用户
- 如果他不参与其中,则正在使用外部 LDAP(第二个服务器)验证用户
- 如果他也不属于该服务器,系统将踢出该用户。
我在这里看到了与我的问题相关的帖子: 如何代理多个 LDAP 服务器,并且仍然在代理上对用户进行分组?
但是,我不确定这是否适用于我的情况,或者是否有其他方法可以实现这一点。
我在研究中还发现使用 nslcd 也是一种解决方案。