Добрый день!
При создании сервера аутентификации возникла следующая проблема:
существует LDAP сервер на базе OpenLDAP 2.0.27-8 и RedHat Linux 9.0 файл конфигурации slapd.conf приведен ниже. Сервер запущен следующим образом:
/usr/local/libexec/slapd -h ldaps:///
В базе содержатся данные о пользователях.
Попытка получить данные после аутентификации с помощью ldapsearch оканчивается успешно. То есть команда вида:
ldapsearch -D "uid=a,cn=aa,dc=test,dc=ru" -W
после ввода правильного пароля успешно завершается.
Попытка подключиться по SSH после настройки PAM и NSSWITCH оканчивается неудачей. (При изменении записи URI в /etc/ldap.conf на уже работающий сервер аутентификация проходит)
В лог файле /var/log/secure появляются следующие записи.
Apr 5 16:58:07 coala sshd[16810]: pam_ldap: ldap_simple_bind Can't contact LDAP server
Apr 5 16:58:09 coala sshd[16810]: Failed password for a from 192.168.4.76 port 1368
Apr 5 16:58:13 coala sshd[16810]: pam_ldap: ldap_simple_bind Can't contact LDAP server
# slapd.conf.
# This file should NOT be world readable.
#
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema
pidfile /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args
# TLS
TLSCertificateFile /usr/local/etc/openldap/certs/cert.pem
TLSCertificateKeyFile /usr/local/etc/openldap/certs/privkey.pem
loglevel 1
access to attrs="userPassword"
by dn.base="cn=admin,dc=test,dc=ru" write
by self write
by anonymous auth
by * none
access to *
by self write
by dn.base="cn=admin,dc=test,dc=ru" write
by * read
# by anonymous auth
# by * none
allow bind_v2
database ldbm
suffix "dc=test,dc=ru"
rootdn "cn=admin,dc=test,dc=ru"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw 1234567
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /usr/local/var/openldap-data
# Indices to maintain
index objectClass,uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
/etc/ldap.conf
uri ldaps://127.0.0.1
base dc=test,dc=ru
#ldap_version 3
#referrals no
port 636
scope sub
#nss_map_objectclass posixAccount User
#nss_map_attribute uid msSFU30Name
#nss_map_attribute uniqueMember posixMember
#nss_map_attribute userPassword msSFU30Password
#nss_map_attribute homeDirectory msSFU30HomeDirectory
#nss_map_attribute gidNumber msSFU30GidNumber
#nss_map_attribute uidNumber msSFU30UidNumber
#nss_map_objectclass posixGroup Group
#nss_map_attribute loginShell msSFU30LoginShell
#pam_login_attribute msSFU30Name
pam_filter objectclass=posixAccount
#pam_password ad
#TLS_REQCERT never