ich bin etwas am verzweifeln. Seit einigen Tagen versuche ich erfolgreich, auf einem Test-Server den Client-Login über LDAP zu realisieren.
Zwar kann ich auf dem LDAP schreiben, suchen und z.B. mit dem LDAP Account Manager [1] darauf arbeiten - aber der SSH-Login funktioniert trotzdem nicht.
Auf dem Server läuft Wheezy.
So bin ich vorgegangen:
- Installation OpenLDAP-Server: slapd & ldap-utils
- statische Konfiguration mittels slapd.conf (siehe unten)
- domain, und die organizationalUnit 'users', 'hosts', 'groups' eingetragen
- pam_mkhomedir.so in /etc/pam.d/common-session eingetragen
- Installation OpenLDAP-Client: libnss-ldap & libpam-ldap
- in /etc/nsswitch.conf die Einträge 'passwd' und 'group' und 'ldap' ergänzt
- in /etc/ldap/ldap.conf 'BASE' und 'URI' angepasst
- Jetzt hab ich mich auf meinem lokalen Rechner mit dem LDAP Account Manager [1] am LDAP-Server eingeloggt, eine Gruppe (benutzer) und einen Benutzer (test1 inkl. Login Shell und Passwort) in dieser Gruppe erstellt
Code: Alles auswählen
ldapsearch -x -D 'cn=admin,dc=test,dc=meinserver,dc=de' -w geheim -H ldap://test.meinserver.de -b 'dc=test,dc=meinserver,dc=de' userPassword
Code: Alles auswählen
# extended LDIF
#
# LDAPv3
# base <dc=test,dc=meinserver,dc=de> with scope subtree
# filter: (objectclass=*)
# requesting: userPassword
#
# test.meinserver.de
dn: dc=test,dc=meinserver,dc=de
# users, test.meinserver.de
dn: ou=users,dc=test,dc=meinserver,dc=de
# hosts, test.meinserver.de
dn: ou=hosts,dc=test,dc=meinserver,dc=de
# groups, test.meinserver.de
dn: ou=groups,dc=test,dc=meinserver,dc=de
# benutzer, groups, test.meinserver.de
dn: cn=benutzer,ou=groups,dc=test,dc=meinserver,dc=de
# Testi Tester, users, test.meinserver.de
dn: cn=Testi Tester,ou=users,dc=test,dc=meinserver,dc=de
userPassword:: e1NTSEF9Q3VTNU8xSnFEOGR5ekZRbzljd3BFWjBrczgxMVRtbEY=
# search result
search: 2
result: 0 Success
# numResponses: 7
# numEntries: 6
Auszug aus syslog:
Code: Alles auswählen
Jan 16 00:31:06 test slapd[18789]: conn=1002 fd=13 ACCEPT from IP=[::1]:40169 (IP=[::]:389)
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=0 BIND dn="cn=admin,dc=test,dc=meinserver,dc=de" method=128
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=0 BIND dn="cn=admin,dc=test,dc=meinserver,dc=de" mech=SIMPLE ssf=0
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=0 RESULT tag=97 err=0 text=
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=1 SRCH base="dc=test,dc=meinserver,dc=de" scope=2 deref=0 filter="(uid=test1)"
Jan 16 00:31:06 test slapd[18789]: <= bdb_equality_candidates: (uid) not indexed
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=2 BIND anonymous mech=implicit ssf=0
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=2 BIND dn="cn=Testi Tester,ou=users,dc=test,dc=meinserver,dc=de" method=128
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=2 RESULT tag=97 err=49 text=
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=3 BIND dn="cn=admin,dc=test,dc=meinserver,dc=de" method=128
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=3 BIND dn="cn=admin,dc=test,dc=meinserver,dc=de" mech=SIMPLE ssf=0
Jan 16 00:31:06 test slapd[18789]: conn=1002 op=3 RESULT tag=97 err=0 text=
Code: Alles auswählen
Jan 16 00:31:03 test sshd[18834]: Invalid user test1 from 178.25.44.26
Jan 16 00:31:03 test sshd[18834]: input_userauth_request: invalid user test1 [preauth]
Jan 16 00:31:06 test sshd[18834]: pam_unix(sshd:auth): check pass; user unknown
Jan 16 00:31:06 test sshd[18834]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=ipb2192c1a.dynamic.kabel-deutschland.de
Jan 16 00:31:06 test sshd[18834]: pam_ldap: error trying to bind as user "cn=Testi Tester,ou=users,dc=test,dc=meinserver,dc=de" (Invalid credentials)
Jan 16 00:31:08 test sshd[18834]: Failed password for invalid user test1 from 178.25.44.26 port 57982 ssh2
Code: Alles auswählen
# This is the main slapd configuration file. See slapd.conf for more
# info on the configuration options.
#######################################################################
# Global Directives:
# Features to permit
# allow bind_v2
# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile /var/run/slapd/slapd.pid
# List of arguments that were passed to the server
argsfile /var/run/slapd/slapd.args
# Read slapd.conf(5) for possible values
loglevel 256
# Where the dynamically loaded modules are stored
modulepath /usr/lib/ldap
moduleload back_hdb
# The maximum number of entries that is returned for a search operation
sizelimit 500
# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads 1
#######################################################################
# Specific Backend Directives for hdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend hdb
#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend <other>
#database config
#######################################################################
# Specific Directives for database #1, of type hdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database hdb
# The base of your directory in database #1
suffix "dc=test,dc=meinserver,dc=de"
# rootdn directive for specifying a superuser on the database. This is needed
# for syncrepl.
rootdn "cn=admin,dc=test,dc=meinserver,dc=de"
rootpw {SSHA}ZO5aNRAlclxxMO7aP8eF7NexncxUNQNF
# Where the database file are physically stored for database #1
directory "/var/lib/ldap"
# The dbconfig settings are used to generate a DB_CONFIG file the first
# time slapd starts. They do NOT override existing an existing DB_CONFIG
# file. You should therefore change these settings in DB_CONFIG directly
# or remove DB_CONFIG and restart slapd for changes to take effect.
# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize 0 2097152 0
# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057 for more
# information.
# Number of objects that can be locked at the same time.
dbconfig set_lk_max_objects 1500
# Number of locks (both requested and granted)
dbconfig set_lk_max_locks 1500
# Number of lockers
dbconfig set_lk_max_lockers 1500
# Indexing options for database #1
index objectClass eq
# Save the time that the entry gets modified, for database #1
lastmod on
# Checkpoint the BerkeleyDB database periodically in case of system
# failure and to speed slapd shutdown.
checkpoint 512 30