LDAP 사용자가 서버에 SSH를 통해 연결할 수 없습니다.

LDAP 사용자가 서버에 SSH를 통해 연결할 수 없습니다.

이 기사를 사용하여 centos 7을 실행하는 LDAP 로컬 서버를 구성했습니다.https://www.itzgeek.com/how-tos/linux/centos-how-tos/step-step-openldap-server-configuration-centos-7-rhel-7.html.

이제 내 LDAP 서버가 문제 없이 실행되고 있습니다. 내 LDAP 서버에서는 방화벽이 비활성화되어 있습니다. 그러나 selinux가 활성화되어 있습니다.

또한 마이그레이션 도구를 사용하여 로컬 사용자를 ldap db로 마이그레이션했는데 역시 성공했습니다.

또한 phpldapadmin을 설치하고 구성했는데 성공했습니다. 그런 다음 인증을 위해 다른 LDAP 서버를 클라이언트로 연결했습니다(sssd, krb5-workstation을 설치하고 authconfig-tui를 사용하여 연결했습니다).

다음을 사용하여 (클라이언트 서버에서) LDAP 연결을 테스트할 때

[root@ldapclient ~]# getent passwd user1

user1:*:1001:1001:user1:/home/user1:/bin/bash

[root@ldapclient ~]# id user1

uid=1001(user1) gid=1001 groups=1001

[root@ldapclient ~]# id testfromphpldapadmin

uid=1003(testfromphpldapadmin) gid=1010(ldapusers) groups=1010(ldapusers)

(testfromphpldapadmin - phpldapadmin user1을 사용하여 생성됨 - 마이그레이션 도구를 사용하여 사용자가 마이그레이션됨)

이전 결과에 따르면 LDAP 인증이 문제 없이 제대로 작동하는 것 같습니다.

하지만 LDAP 사용자 계정을 사용하여 SSH를 시도하면

login as: user1

user1@centclient's password:

Access denied

답변1

성공적인 로그인을 위해서는 다음 두 가지 사항이 충족되어야 합니다.

  1. /etc/nsswitch.conf 파일에 구성된 이름 서비스 스위치
  2. PAM 구성은 /etc/pam.d 디렉터리의 다양한 파일에 정의되어 있습니다.

getent올바른 데이터가 반환된 것 같으므로 /etc/nsswitch.conf가 올바른 것 같습니다 .

그런 다음 /etc/pam.d/common*의 구성이 모듈을 사용하는지 확인합니다.pam_sss.so. 물론 로그를 확인해야 합니다.

관련 정보