У меня есть конфигурация master / slave openldap, настройка в соответствии с Руководство по Ubuntuв Ubuntu 12.04, запущен slapd 2.4.28-1.1ubuntu4.2. У меня pam_ldap настроен для аутентификации ssh, все работает нормально, пока мастер включен.
Если я настраиваю /etc/ldap.conf так, чтобы он указывал только на ведомое устройство, а ведущее устройство работает, аутентификация работает нормально. Но как только я отключаю мастер, аутентификация не выполняется, и я не могу войти в систему.
Я могу успешно запустить ldap-поиск моего uid на обоих серверах, возвращенные данные идентичны ... ведомое устройство по-прежнему показывает данные правильно, когда ведущее устройство не работает.
ContextCSN идентичен как ведущему, так и ведомому устройству, и я подтвердил, что репликация происходит правильно, изменяя атрибут на ведущем устройстве, примерно через 30 секунд contextCSN обновляется на ведомом устройстве, и поиск атрибута показывает, что он обновлен.
Содержимое /etc/ldap.conf с указанием только ведомого устройства:
base dc=mydomain
ldap_version 3
pam_password md5
uri ldap://slave01
В auth.log, syslog или slapd.log нет ничего, что показало бы, почему это так.
Любые идеи?
Чтобы ответить на мой собственный вопрос ... симптом заключался в том, что при попытке ssh с одного хоста (клиента) на другой (сервер), когда мастер не работал, я видел следующее:
$ ssh server
You don't exist, go away!
Я ошибочно предположил, что это исходило с сервера, но на самом деле оно исходило от ssh на клиенте. Основная причина в том, что я настроил главный и подчиненный сервер в /etc/ldap.conf на сервере, но только главный в /etc/ldap.conf на клиенте. Как только я отключил мастер, клиент не смог разрешить мой собственный uid и поэтому сказал мне, что меня не существует.