Какие ошибки конфигурации могут привести к тому, что ldapsearch работает, а getent работает, но при входе в систему по SSH иногда происходит сбой аутентификации?
У меня есть два сервера, которые запрашивают третий сервер для аутентификации LDAP. Все серверы работают под управлением Ubuntu 18.04.
Сервер LDAP (на котором запущен OpenLDAP / slapd) использует самозаверяющий сертификат, и оба клиентских сервера имеют «TLS_REQCERT allow» в /etc/ldap/ldap.conf. Оба клиентских сервера также могут успешно использовать ldapsearch поверх 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-соединение запускается бесконечно, застрял на "pledge: network"
Оказывается, "apt install libnss-ldapd", похоже, решает проблему, которая удаляет libnss-ldap и устанавливает nscd и nslcd.