- Технологический стек
- Установка и настройка MULTIDIRECTORY
- Настройка Kerberos в WEB-интерфейсе MULTIDIRECTORY
- Настройка DNS в WEB-интерфейсе MULTIDIRECTORY
- Настройка доверия в MULTIDIRECTORY
- Групповые политики
- Подключение MULTIFACTOR SelfService Portal к MULTIDIRECTORY
- Управление пользователями, группами и ресурсами
- Подключение к MULTIFACTOR
- Политики доступа
- Схема LDAP
- Журналирование событий
- Парольные политики
- Роли и полномочия
- LDAP-аутентификация в Пассворк
- LDAP-аутентификация в Ansible AWX
- LDAP-аутентификация в ArgoCD
- LDAP-аутентификация в Authelia
- LDAP-аутентификация в BearPass
- LDAP-аутентификация в DeepMail
- LDAP-аутентификация в ELMA365
- LDAP-аутентификация в FreePBX
- LDAP-аутентификация в GitLab
- LDAP-аутентификация в Grafana
- LDAP-аутентификация в IVA MCU
- LDAP-аутентификация в Jenkins
- LDAP-аутентификация в Jira
- LDAP-аутентификация в Keycloak
- LDAP-аутентификация в Kerio Connect
- LDAP-аутентификация в Kibana
- LDAP-аутентификация в Harbor
- LDAP-аутентификация в S3 MinIO
- LDAP-аутентификация в Nexus
- LDAP-аутентификация на Nextсloud
- LDAP-аутентификация на OpenVPN
- LDAP-аутентификация на ownCloud
- LDAP-аутентификация в PostgreSQL
- LDAP-аутентификация в Rancher
- LDAP-аутентификация в RuPost
- LDAP-аутентификация в Seafile
- LDAP-аутентификация в Snipe-IT
- LDAP-аутентификация на SSH клиенте
- LDAP-аутентификация в TrueConf
- LDAP-аутентификация на UserGate клиенте
- LDAP-аутентификация в Vault
- LDAP-аутентификация в Zabbix
- LDAP-аутентификация в Zimbra
Инструкция по настройки LDAP-аутентификации на SSH клиенте
Краткое описание
В статье описывается настройка LDAP-аутентификации на SSH-клиенте, где поставщиком учетных записей является MULTIDIRECTORY.
Подготовка к настройке
- Создайте сервисную учетную запись в
MULTIDIRECTORY, у которой будут права на чтение каталога. - Создайте группы доступа в
MULTIDIRECTORYдля пользователейSSH.
Интеграция с системой двухфакторной аутентификации MULTIFACTOR
Подключите и настройте доступ MULTIDIRECTORY-2FA
Установка пакетов и настройка libnss-ldapd
Для настройки LDAP-аутентификации на SSH-клиенте, произведите установку следующих пакетов:
apt -y install libnss-ldapd libpam-ldapd ldap-utils
После успешной установки пакетов появится окно конфигурирования libnss-ldapd:
Ниже представлен пример заполнения
Укажите URI сервера LDAP: ldap://your_domain.ru

Укажите базу поиска сервера LDAP: dc=your_domain,dc=ru

Выберите имена настраиваемых служб:
- passwd.
- group.
- shadow.

Настройка автоматического создания домашней директории для нового пользователя
Перейдите в файл common-session для настройки автоматического создания домашней директории для пользователей.
sudo nano /etc/pam.d/common-session
Добавьте последней строчкой слудющее поле:
session optional pam_mkhomedir.so skel=/etc/skel umask=077
После добавления файл должен выглядеть таким образом:
# # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of interactive sessions. # # As of pam 1.0.1-6, this file is managed by pam-auth-update by default. # To take advantage of this, it is recommended that you configure any # local modules either before or after the default block, and use # pam-auth-update to manage selection of other modules. See # pam-auth-update(8) for details. # here are the per-package modules (the "Primary" block) session [default=1] pam_permit.so # here's the fallback if no module succeeds session requisite pam_deny.so # prime the stack with a positive return value if there isn't one already; # this avoids us returning an error just because nothing sets a success code # since the modules above will each just jump around session required pam_permit.so # and here are more per-package modules (the "Additional" block) session required pam_unix.so session optional pam_systemd.so # end of pam-auth-update config session optional pam_mkhomedir.so skel=/etc/skel umask=077
Настройка nslcd
Перейдите в файл nslcd.conf, раскомментируйте поля binddn и bindpw, внесите в них данные учетной записи, при помощи которой будет происходить чтение каталога.
Обратите внимание!
Данная учетная запись должна иметь права на чтение всей службы каталогов.
В полеbindpwнеобходимо будет указать пароль от учетной записи, которая вносится вbinddn.
Полеbinddnпринимает данные так же в формате UPN (пример: administrator@your_domain.ru).
# /etc/nslcd.conf # nslcd configuration file. See nslcd.conf(5) # for details. # The user and group nslcd should run as. uid nslcd gid nslcd # The location at which the LDAP server(s) should be reachable. uri ldap://your_domain.ru # The search base that will be used for all queries. base dc=your_domain,dc=ru # The LDAP protocol version to use. #ldap_version 3 # The DN to bind with for normal lookups. binddn cn=administrator,ou=users,dc=your_domain,dc=ru bindpw password # The DN used for password modifications by root. #rootpwmoddn cn=admin,dc=example,dc=com # SSL options #ssl off #tls_reqcert never tls_cacertfile /etc/ssl/certs/ca-certificates.crt # The search scope. #scope sub
Необходимо поменять права доступа к файлу nslcd.conf, так как в нем хранится информация для аутентификации:
chmod 600 /etc/nslcd.conf chown nslcd:nslcd /etc/nslcd.conf
Запуск
После настройки конфигурации запустите компонент:
sudo systemctl start nslcd nscd
Статус можно проверить командой:
sudo systemctl status nslcd sudo systemctl status nscd
Последующие изменения в файле конфигурации службы потребуют перезапуска подсистемы служб и службы:
sudo systemctl daemon-reload sudo systemctl restart nslcd nscd
Установка и настройка пакетов
Для настройки LDAP-аутентификации на SSH-клиенте, произведите установку следующих пакетов:
sudo apt install -y sssd libpam-sss libnss-sss sssd-tools krb5-user
Настройка конфигурации SSSD
Конфигурация расположена по пути /etc/sssd/sssd.conf
Пример конфигурации:
[sssd] domains = domain.ru # Укажите домен MULTIDIRECTORY services = nss, pam, ssh config_file_version = 2 [domain/domain.ru] id_provider = ldap auth_provider = krb5 ldap_uri = ldap://domain.ru # Выбор протокола ldap/s 389/636 порт ldap_search_base = dc=domain,dc=ru # Поиск по базе ldap ldap_user_search_base = ou=users,dc=domain,dc=ru # Поиск по базе ldap_user ldap_group_search_base = ou=groups,dc=domain,dc=ru # Поиск по базе ldap_group ldap_default_bind_dn = cn=admin,ou=users,dc=domain,dc=ru # Сервисная УЗ с правами на чтение каталога ldap_default_authtok = PASSWORD # Пароль от сервисной УЗ krb5_server = domain.ru krb5_realm = DOMAIN.RU # Kerberos-realm обязательно заглавными буквами krb5_kpasswd = domain.ru enumerate = true cache_credentials = true dyndns_update = false fallback_homedir = /home/%u
Для корректной работоспособности измените права на файл конфигурации sssd.conf:
sudo chmod 600 /etc/sssd/sssd.conf
Настройка Kerberos
Конфигурация расположена по пути /etc/krb5.conf
Пример конфигурации krb5.conf:
[libdefaults]
default_realm = DOMAIN.RU # Kerberos-realm обязательно должен быть заглавными буквами.
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
DOMAIN.RU = {
kdc = domain.ru # Адрес хоста, на котором расположена MULTIDIRECTORY
admin_server = domain.ru # Адрес хоста, на котором расположена MULTIDIRECTORY
}
[domain_realm]
.domain.ru = DOMAIN.RU
domain.ru = DOMAIN.RU
Настройка автоматического создания домашней директории для нового пользователя
Для включения автоматического создания директории пользователя измените файл /etc/pam.d/common-session
В конец файла добавьте следующую строку:
session optional pam_mkhomedir.so skel=/etc/skel umask=077
Запуск и проверка
Для запуска выполните команды
systemctl enable sssd systemctl restart sssd
Для проверки выполните вход по SSH на localhost с доменными пользователем:
ssh <ldap_user>@localhost