Назад | Перейти на главную страницу

sshd pam_ldap: ldap_simple_bind Не удается связаться с сервером LDAP

Видел много похожих сообщений о моей проблеме, но пока ни один из них не помог решить проблему.

У меня есть несколько старых серверов RHEL 5.5, которые мне нужно аутентифицировать в экземпляре LDAP (OpenDJ).

Я могу выполнить ручной ldapsearch, который отлично работает:

# /usr/bin/ldapsearch -D cn=#####,ou=users,dc=######,dc=com -w ###### -LLLx -H ldaps://lhcsrvprddir02.#######.com:1636 -b dc=#######,dc=com cn=####
dn: cn=####,ou=users,dc=##########,dc=com
objectClass: organizationalPerson
objectClass: top
objectClass: person
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: posixAccount
uid: *****
employeeType: *****
uidNumber: *****
gecos: ********
mail: ******.com
homeDirectory: *******
gidNumber: ******
cn: *****
sn: *****
loginShell: /bin/lbash
userPassword:***************

Мой сервер LDAP подтверждает успешное соединение / привязку и, похоже, не жалуется на проблемы с сертификатом и т. Д.

[26/Jul/2017:10:06:29 +0100] CONNECT conn=2140 from=10.20.82.8:60136 to=10.20.231.4:1636 protocol=LDAPS
[26/Jul/2017:10:06:29 +0100] BIND REQ conn=2140 op=0 msgID=1 version=3 type=SIMPLE dn="cn=###,ou=users,dc=#######,dc=com"
[26/Jul/2017:10:06:29 +0100] BIND RES conn=2140 op=0 msgID=1 result=0 authDN="cn=####,ou=users,dc=#######,dc=com" etime=0
[26/Jul/2017:10:06:29 +0100] SEARCH REQ conn=2140 op=1 msgID=2 base="dc=######,dc=com" scope=sub filter="(cn=####)" attrs="ALL"
[26/Jul/2017:10:06:29 +0100] SEARCH RES conn=2140 op=1 msgID=2 result=0 nentries=1 etime=0
[26/Jul/2017:10:06:29 +0100] UNBIND REQ conn=2140 op=2 msgID=3
[26/Jul/2017:10:06:29 +0100] DISCONNECT conn=2140 reason="Client Unbind"

Однако, когда я подключаюсь через SSH, я вижу следующее в файле / var / log / secure

sshd[8275]: pam_ldap: ldap_simple_bind Can't contact LDAP server

Вот что у меня есть в /etc/ldap.conf:

uri ldaps://lhcsrvprddir02.######.com
port 1636
base dc=######,dc=com
ldap_version 3
binddn cn=######,ou=service,ou=users,dc=######,dc=com
bindpw ###############
scope sub
timelimit 120
bind_timelimit 30
bind_policy soft
idle_timelimit 3600
pam_filter objectclass=posixaccount
pam_login_attribute uid
pam_lookup_policy yes
pam_password md5
nss_base_passwd ou=users,dc=######,dc=com?sub
nss_base_shadow ou=users,dc=######,dc=com?sub
nss_base_group ou=groups,dc=######,dc=com?sub
nss_base_netgroup ou=netgroup,dc=######,dc=com?sub
nss_initgroups_ignoreusers root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm
ssl no
tls_cacertdir /etc/openldap/certs
tls_reqcert never
sudoers_base ou=sudoers,dc=#######,dc=com

И мой файл /etc/openldap/ldap.conf:

URI ldaps://lhcsrvprddir02.######.com
BASE dc=######,dc=com
TLS_CACERTDIR /etc/openldap/certs
TLS_REQCERT NEVER

Я пробовал несколько комбинаций с /etc/pam.d/system-auth-ac, но безрезультатно. Вот что у меня сейчас есть:

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore authinfo_unavail=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 difok=1 minlen=11
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     optional      pam_mkhomedir.so umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

До всего этого я бегал:

# authconfig --enableldap --enableldapauth --enableldaptls --disablenis --enablemkhomedir --updateall