Используемые термины: SSH , Active Directory , CentOS .
Мы рассмотрим простые примеры команд, которые позволят настроить аутентификацию пользователей Active Directory на Linux для входа по SSH. Данная инструкция подойдет для CentOS версий 7 и 8.
Подготовка сервера
Обновляем список пакетов:
yum update
Задаем имя компьютеру:
hostnamectl set-hostname mypc.domain.local
Устанавливаем часовой пояс (у меня московское время):
timedatectl set-timezone Europe/Moscow
Устанавливаем сервис для синхронизации времени и запускаем его:
yum install chrony
systemctl enable chronyd —now
Настройка аутентификации SSH через AD
Устанавливаем пакеты:
yum install realmd sssd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools
* где:
- realmd — сервис для автоматического поиска и конфигурирования AD.
- sssd — пакет программ, с помощью которого можно настраивать аутентификацию и авторизацию в системах на базе UNIX.
- oddjob — служба, которая принимает запросы по D-BUS (системная шина сообщений) на выполнение действий.
- oddjob-mkhomedir — в соответствии с названием, пакет позволяет отправить запрос на создание домашнего каталога пользователя.
- adcli — утилита для ввода компьютера в домен.
- samba-common и samba-common-tools — набор пакетов для выполнения запросов к файлам и принтерам клиентов Microsoft Windows.
Сканируем наш домен:
realm discover DOMAIN.LOCAL
Вводим компьютер в домен:
realm join -U username DOMAIN.LOCAL
* DOMAIN.LOCAL — ваш домен.
** username — имя учетной записи с правом вводить компьютер в домен.
Настраиваем sssd для возможности вводить логин без префикса домена:
vi /etc/sssd/sssd.conf
…
use_fully_qualified_names = False
…
Разрешаем создавать домашние директории новым пользователям:
authconfig —enablemkhomedir —enablesssdauth —updateall
Запускаем сервис sssd:
systemctl enable sssd.service
systemctl restart sssd
Готово. Пробуем зайти по SSH под доменной учетной записью.
Аутентификация по группам AD
Мы настроили возможность авторизовываться в системе для любого пользователя в Active Directory. Попробуем ограничить доступ с помощью групп безопасности.
Мы можем задать настройки в конфигурационном файле:
vi /etc/sssd/sssd.conf
simple_allow_groups = Domain Admins@domain.local
* где в данном примере предоставлен доступ все пользователям группы Domain Admins .
После внесения изменений нужно перезагрузить сервис sssd:
systemctl restart sssd
Также мы можем управлять настройками командами.
Сначала очистим доступ:
realm deny -a
Теперь дадим разрешение для 3-х групп:
realm permit -g «Domain Admins»@domain.local
realm permit -g «Тестовая группа»@domain.local
realm permit -g ssh@domain.local
* данные команды разрешают вход пользователям групп Domain Admins , Тестовая группа , ssh .