어제 OpenLDAP 서버를 설정하고 SSH와 작동하도록 구성하려고 했습니다. DigitalOcean의 다음 두 가이드를 따르세요.https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-a-basic-ldap-server-on-an-ubuntu-12-04-vps그리고https://www.digitalocean.com/community/tutorials/how-to-authenticate-client-computers-using-ldap-on-an-ubuntu-12-04-vps
즉, 어젯밤 현재 SSH를 통해 인증하는 데 많은 문제가 있습니다. 아침에는 잘 작동하지만 하루 종일은 작동하지 않는데 왜 그런지 모르겠습니다. 모든 것을 다시 설정할 수 있도록 Linux 가상 머신을 이전 스냅샷으로 복원했지만 여전히 부팅되지 않습니다.
기본적으로 slapd -d 1을 실행해 보면 뭔가 잘못됐다고 눈에 띄는 것은 없는 것 같습니다. 그러나 SSH를 통해 로컬 시스템(OpenLDAP 서버 호스팅)에 연결하려고 하면 /var/log/auth.log 파일에 다음이 표시됩니다.
Dec 4 10:03:46 mybox sshd[17741]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost user=root
Dec 4 10:03:49 mybox sshd[17741]: Failed password for root from 127.0.0.1 port 45071 ssh2
SSH 서버에 저장된 자격 증명을 통해서만 SSH를 사용할 수 있고 LDAP를 통해서는 인증할 수 없습니다. ldapsearch를 통해서는 문제 없이 LDAP를 이용해서 로그인이 가능하니 LDAP 문제는 아닌 것 같습니다.
누군가 나에게 올바른 방향을 알려줄 수 있습니까?
편집: 친구의 도움으로 몇 가지 물건을 얻었습니다(내 물건 아님). 간단하게 사용할 수 있는 두 개의 파일은 다음과 같습니다.
file.ldif(ldapadd와 함께 사용)
version: 1
dn: dc=dolgen,dc=net
objectClass: top
objectClass: dcObject
objectClass: organization
dc: dolgen
o: Some Org
description: A sample domain
dn: ou=people,dc=dolgen,dc=net
objectClass: top
objectClass: organizationalUnit
ou: people
dn: cn=Bob Anderson,ou=people,dc=dolgen,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Bob Anderson
sn: Anderson
uid: test
# the userpassword is set to the SHA1 of 'testtesttest'
userPassword: {SSHA}ih08rDcGRC+S5ol888SZG5YUjOX1oVVK
description: This is Bob
uidNumber: 2000
gidNumber: 1100
homeDirectory: /
loginShell: /bin/sh
slapd 구성 파일
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
pidfile /tmp/slapd.pid
argsfile /tmp/slapd.args
TLSCertificateFile /tmp/ldap.pem
TLSCertificateKeyFile /tmp/ldap.key
moduleload back_hdb.la
database hdb
suffix "dc=dolgen,dc=net"
rootdn "cn=Manager,dc=dolgen,dc=net"
# password is 'testtesttest'
rootpw {SSHA}ih08rDcGRC+S5ol888SZG5YUjOX1oVVK
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /tmp/openldap-data
# Indices to maintain
index objectClass eq
답변1
/etc/ssh/sshd_config에 "UsePAM yes"가 있는지 확인하세요. 기본적으로 OpenLDAP에 필요한 PAM 인증을 활성화합니다.