Настройка SSH на CentOS с аутентификацией через Active Directory

Обновлено Обновлено: Опубликовано Опубликовано:

Используемые термины: SSHActive DirectoryCentOS.

Мы рассмотрим простые примеры команд, которые позволят настроить аутентификацию пользователей 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.

# Active Directory # CentOS # Linux # UNIX # Безопасность # Настройки # Серверы # Управление
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет