LDAP 连接似乎一直失败

LDAP 连接似乎一直失败

哪些配置错误会导致 ldapsearch 和 getent 可以工作,但在 SSH 登录期间身份验证有时似乎失败的情况?

我有两台服务器向第三台服务器查询 LDAP 身份验证。所有服务器都运行 Ubuntu 18.04。

LDAP 服务器(运行 OpenLDAP / slapd)使用自签名证书,并且两个客户端服务器在 /etc/ldap/ldap.conf 中都有“TLS_REQCERT allow”。两个客户端服务器也可以成功使用 ldapsearch over ldaps 来查询用户。在两个客户端服务器上,我都可以运行 getent passwd 并获得预期结果。

但是,在一台服务器上,当我通过 ssh 登录时,我遇到了持续的延迟(大约三十秒)。该服务器的 /var/log/auth.log 包含以下行:

pam_systemd(sshd:session): Failed to create session: Connection timed out  
nss_ldap: reconnecting to LDAP server...
nss_ldap: reconnected to LDAP server ldaps://[IP address] after 1 attempt
systemd-logind: nss_ldap: could not connect to any LDAP server as [...] - Can't contact LDAP server
systemd-logind: nss_ldap: failed to bind to LDAP server ldaps://[IP address]: Can't contact LDAP server

据了解,两个客户端服务器的所有相关配置都是相同的。

我努力了:

sudo systemctl restart systemd-logind
sudo systemctl restart polkit

sudo journalctl -u systemd-logind 显示:

nss_ldap: could not connect to any LDAP server as [...] - Can't contact 
nss_ldap: failed to bind to LDAP server ldaps://[IP address]: Can't contact LDAP server
nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...

在 SSH 的客户端,我看到了此处概述的内容:ssh 连接需要很长时间才能启动,停留在“承诺:网络”

答案1

事实证明“apt install libnss-ldapd”似乎可以解决问题,它会删除 libnss-ldap 并安装 nscd 和 nslcd。

答案2

我不确定什么对我有用:

apt install libnss-ldapd
service nscd stop

或者从 ldapi:// 更改为 ldap://

我的 REHL7 服务器(运行 openladp)配置为 ldapi://,并且它有通过 ldapi:// 连接的 RHEL7 客户端

但是我无法让 Debian 11 实例使用 ldapi://。

编辑:对于我来说,使用 ldap:// 而不是 ldapi:// 是可行的。

答案3

apt install libnss-ldapd
systemctl restart systemd-logind

帮我修好了

相关内容