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

Мы предоставляем услуги удаленного администрирования серверов

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

Поделиться
Обновлено: Опубликовано:

Используемые термины: 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 [email protected]

* где в данном примере предоставлен доступ все пользователям группы 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 [email protected]

* данные команды разрешают вход пользователям групп Domain AdminsТестовая группаssh.