После настройки сервера вы можете настроить вход в систему по записям LDAP, обеспечив таким образом централизованную аутентификацию. Вот что для этого нужно. В первую очередь включить аутентификацию при помощи LDAP путем конфигурации записи соответствующим образом, а затем настроить клиент LDAP. После этого можно входить по SSH с аутентификацией через LDAP.
Предварительная подготовка
Перед настройкой клиента нужно обеспечить возможность входа в систему по SSH. Для этого необходимо задать записи на сервере LDAP соответствующие атрибуты:
# ldapmodify -D "cn=admin,dc=mydomain,dc=com" -W Enter LDAP Password: dn: uid=jsmith,dc=mydomain,dc=com changetype: add uid: jsmith uidNumber: 20000 gidNumber: 20000 cn: John sn: Smith objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash homeDirectory: /home/jsmith userPassword: {SSHA}2xAywmFEnDX8lKjv7Kjlx/yFw6eO3sZB
Обратите внимание: нужно задать классы объекта posixAccount и shadowAccount, а также поля uidNumber, gidNumber, loginShell и homeDirectory. Если этих полей нет, то система не знает, как обслуживать такого пользователя, и по SSH с этой учетной записью вы войти не сможете.
После создания или изменения существующей учетной записи можно переходить уже непосредственно к настройке клиента.
Установка пакетов
Установить пакеты можно командой:
apt-get install libnss-ldap libpam-ldap nscd
По зависимостям установится еще несколько пакетов.
Конфигурация
После установки автоматически запустится конфигурация пакетов и будут запрошены настройки. Сначала будет сконфигурирован пакет libnss-ldap.
Вводим адрес сервера LDAP, нажимаем ОК.
Вводим базовое имя для поиска. В нашем случае «dc=mydomain,dc=com». Нажимаем ОК.
Выбираем 3 версию протокола LDAP, нажимаем ОК.
Выбираем учетную запись, которая будет использоваться для запросов с привелегиями root. В нашем случае это «cn=admin,dc=mydomain,dc=com». Нажимаем ОК.
Теперь задаем пароль для указанной ранее учетной записи и нажимаем ОК.
Видим сообщение о том, что необходимо будет изменить файл /etc/nsswitch.conf. Нажимаем ОК. После этого запускается настройка пакета libpan-ldap.
На вопрос о разрешении учетной записи вести себя как root отвечаем «Нет».
И на последний вопрос отвечаем «Нет».
Теперь нужно отредактировать файл /etc/nsswitch.conf. В нем нужно строки
passwd: compat group: compat shadow: compat ... netgroup: nis
изменить следующим образом:
passwd: compat ldap group: compat ldap shadow: compat ldap ... netgroup: ldap
После этого перезапустить сервис nscd
service nscd restart
Теперь нужно в конец файла /etc/pam.d/common-session в самый конец добавить строчку:
session required pam_mkhomedir.so
И всё!
Вход в систему через клиент LDAP
Теперь можно входить по SSH:
jsmith@smith-laptop:/home/jsmith$ ssh jsmith@192.168.0.18 jsmith@192.168.0.18's password: Creating directory '/home/jsmith'. Linux debian-ldapclient 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt4-3 (2015-02-03) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Apr 5 12:17:30 2015 from 192.168.0.6 jsmith@debian-ldapclient:~$
Вот так будет выглядеть успешный вход в систему. Как вы видите, при входе создается домашняя директория пользователя. И теперь можно работать с системой.
Настроил все как написано в статье на чистый Debian8, при попытке подключения к LDAP-серверу по ssh выдает ошибку «Permision denied». В логах сервера /var/log/auth.log:
Invalid user testuser from 192.168.0.20
input_userauth_request: invalid user testuser [preauth]
pam_unix(sshd:auth): check pass; user unknown
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.0.20
Failed password for invalid user testuser from 192.168.0.20 port 41768 ssh2
А вот эту статью вы читали? https://mnorin.com/ldap-ustanovka-i-nastrojka-ldap-servera.html