LDAP 및 PAM은 GUI 로그인에 작동하지만 SSH에는 작동하지 않습니다.

LDAP 및 PAM은 GUI 로그인에 작동하지만 SSH에는 작동하지 않습니다.

두 개의 Debian 가상 머신이 있습니다. 그 중 하나는 LDAP 서버를 실행하고 있고 다른 하나는 libpam_ldap을 사용하도록 하려고 합니다.

클라이언트 시스템은 LDAP에서 사용자의 GUI 로그인 화면을 가져올 수 있지만 LDAP의 사용자만 사용하여 가상 시스템에 SSH로 접속할 수는 없습니다. 저도 루트 사용자(로컬)에서 LDAP 사용자로 갈 수가 없는데 su같은 문제인 것 같아요.

클라이언트 컴퓨터에서 내가 ldapsearch원하는 사용자를 찾는 데 사용할 수 있습니다.

ldapsearch  -x -D "cn=admin,dc=mydomain,dc=com" -W -b "uid=testuser,ou=People,dc=mydomain,dc=com"

그러면 관리자 LDAP 비밀번호를 묻는 메시지가 표시되고 내 사용자 기록이 반환됩니다.

dn: uid=testuser,ou=People,dc=mydomain,dc=com
uid: testuser
cn: Test User
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: [removed for stackexchange posting ]
shadowLastChange: 17543
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/dwill
gecos: Test User,,,

(내 도메인 이름은실제로"mydomain.com". 이번 포스팅을 위해 수정했습니다)

하지만 이렇게 하면 getent passwd testuser아무것도 반환되지 않습니다.

/etc/nsswitch.conf이런 라인이 있어요

passwd:         files ldap
group:          files ldap
shadow:         files ldap

예전에는 그런 게 있었는데 가이드가 그런 게 있어서 compat ldap바꾸려고 했어요 . files어느 쪽이든 작동하지 않습니다.

결정했다 ./etc/ssh/sshd_configUsePAM yes

Google을 통해 찾을 수 있는 모든 가이드를 따랐지만 여전히 작동하지 않습니다.

어떤 제안이 있으십니까?

답변1

문제를 발견했습니다. Google에서 찾은 가이드 중 하나가 이렇게 하라고 지시했습니다.

apt-get libnss-ldap libpam-ldap nslcd

libpam-ldapd나중에 저도 그것보다 최신이라는 기사를 발견해서 libpam-ldap설치했어요.

libnss-ldap일부 구성을 수행하고 /etc/libnss-ldap.conf파일을 생성하라는 메시지를 표시합니다. 그런 다음 libpam-ldap제거 libnss-ldap하되 구성 파일은 그대로 두십시오. 분명히 구성 파일은 그것을 사용하고 있고 해당 파일의 바인딩에서 오류가 발생하기 때문에 여전히 의미가 있습니다. bindn을 수정한 후 작동했습니다.

왜 이 두 개의 LDAP 모듈을 설치하려는지 모르겠습니다. 첫 번째 클라이언트 VM이 작동한 후 libpam-ldapd 및 nslcd만 사용하여 다른 클라이언트 VM을 설정했는데 처음으로 작동했습니다.

답변2

다음 사항이 있는지 확인하세요 /etc/pam.d/sshd.

auth    sufficient      pam_ldap.so
account sufficient      pam_permit.so

그런 다음 서비스를 실행 sudo /usr/sbin/pam-auth-update하고 다시 시작하십시오 sshd.

관련 정보