Присоединение виртуальной машины Red Hat Enterprise Linux к управляемому домену доменных служб Microsoft Entra
Чтобы пользователи могли входить в виртуальные машины (ВМ) в Azure с помощью одного набора учетных данных, можно присоединить ВМ к управляемому домену Microsoft Entra Domain Services. При присоединении виртуальной машины к управляемому домену доменных служб учетные записи пользователей и учетные данные из домена можно использовать для входа и управления серверами. Членство в группах из управляемого домена также применяется для управления доступом к файлам или службам на виртуальной машине.
В этой статье показано, как присоединить виртуальную машину Red Hat Enterprise Linux (RHEL) к управляемому домену.
Необходимые условия
Для работы с этим руководством вам потребуются следующие ресурсы и привилегии:
- Активная подписка Azure.
- Если у вас нет подписки Azure, создайте учетную запись.
- Клиент Microsoft Entra, связанный с подпиской, либо синхронизирован с локальным каталогом, либо с облачным каталогом.
- При необходимости можно создать клиент Microsoft Entra и затем связать подписку Azure с вашей учетной записью.
- Управляемый домен доменных служб Microsoft Entra включен и настроен в клиенте Microsoft Entra.
- При необходимости первый учебник создает и настраивает управляемый домен доменных служб Microsoft Entra.
- Учетная запись пользователя, которая является частью управляемого домена.
- Уникальные имена виртуальных машин Linux, не превышающие 15 символов, чтобы избежать усеченных имен, которые могут привести к конфликтам в Active Directory.
Создание и подключение к виртуальной машине RHEL Linux
Если у вас есть виртуальная машина RHEL Linux в Azure, подключитесь к ней с помощью SSH, перейдите к следующему шагу, чтобы начать настройку виртуальной машины.
Если вам нужно создать виртуальную машину RHEL Linux или создать тестовую виртуальную машину для использования с этой статьей, можно использовать один из следующих методов:
При создании виртуальной машины обратите внимание на параметры виртуальной сети, чтобы убедиться, что виртуальная машина может взаимодействовать с управляемым доменом:
- Разверните виртуальную машину в той же или одноранговой виртуальной сети, в которой включены доменные службы Microsoft Entra.
- Разверните виртуальную машину в другой подсети, отличной от управляемого домена доменных служб Microsoft Entra.
После развертывания виртуальной машины выполните действия по подключению к виртуальной машине с помощью SSH.
Настройка файла хостов
Чтобы убедиться, что имя узла виртуальной машины правильно настроено для управляемого домена, измените файл /etc/hosts и задайте имя узла:
sudo vi /etc/hosts
В файле hosts обновите адрес localhost. В следующем примере:
- aaddscontoso.com — это DNS-имя домена управляемого домена.
- rhel — это имя узла виртуальной машины RHEL, присоединенной к управляемому домену.
Обновите эти имена собственными значениями:
127.0.0.1 rhel rhel.aaddscontoso.com
По завершении сохраните и выйдите из файла хостов с помощью команды :wq
редактора.
Важный
Учитывайте, что Red Hat Enterprise Linux 6.X и Oracle Linux 6.x уже являются EOL. RHEL 6.10 имеет поддержку ELS, которая заканчивается в июне 2024 года.
Установка необходимых пакетов
Для присоединения виртуальной машины к управляемому домену требуется несколько дополнительных пакетов. Чтобы установить и настроить эти пакеты, обновите и установите средства присоединения к домену с помощью yum
.
sudo yum install adcli sssd authconfig krb5-workstation
Присоединение виртуальной машины к управляемому домену
Теперь, когда необходимые пакеты установлены на виртуальной машине, присоедините виртуальную машину к управляемому домену.
Используйте команду
adcli info
для обнаружения управляемого домена. В следующем примере обнаруживается область ADDDSCONTOSO.COM. Укажите собственное управляемое доменное имя в ALL UPPERCASE:sudo adcli info aaddscontoso.com
Если команда
adcli info
не может найти управляемый домен, просмотрите следующие действия по устранению неполадок:- Убедитесь, что домен доступен из виртуальной машины. Проверьте
ping aaddscontoso.com
, чтобы увидеть, возвращается ли положительный ответ. - Убедитесь, что виртуальная машина развернута в той же или одноранговой виртуальной сети, в которой доступен управляемый домен.
- Убедитесь, что параметры DNS-сервера для виртуальной сети обновляются, чтобы указать контроллеры домена управляемого домена.
- Убедитесь, что домен доступен из виртуальной машины. Проверьте
Сначала присоединитесь к домену с помощью команды
adcli join
. Эта команда также создает keytab для аутентификации машины. Используйте учетную запись пользователя, которая является частью управляемого домена.sudo adcli join aaddscontoso.com -U contosoadmin
Теперь настройте
/ect/krb5.conf
и создайте файлы/etc/sssd/sssd.conf
для использования доменаaaddscontoso.com
Active Directory. Убедитесь, чтоAADDSCONTOSO.COM
заменено вашим собственным доменом.Откройте файл
/etc/krb5.conf
с помощью редактора:sudo vi /etc/krb5.conf
Обновите файл
krb5.conf
, чтобы он соответствовал следующему образцу:[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = AADDSCONTOSO.COM dns_lookup_realm = true dns_lookup_kdc = true ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] AADDSCONTOSO.COM = { kdc = AADDSCONTOSO.COM admin_server = AADDSCONTOSO.COM } [domain_realm] .AADDSCONTOSO.COM = AADDSCONTOSO.COM AADDSCONTOSO.COM = AADDSCONTOSO.COM
Создайте файл
/etc/sssd/sssd.conf
:sudo vi /etc/sssd/sssd.conf
Обновите файл
sssd.conf
, чтобы он соответствовал следующему образцу:[sssd] services = nss, pam, ssh, autofs config_file_version = 2 domains = AADDSCONTOSO.COM [domain/AADDSCONTOSO.COM] id_provider = ad
Убедитесь, что разрешения
/etc/sssd/sssd.conf
установлены на 600 и принадлежат пользователю root:sudo chmod 600 /etc/sssd/sssd.conf sudo chown root:root /etc/sssd/sssd.conf
Используйте
authconfig
для информирования виртуальной машины об интеграции с Active Directory в среде Linux.sudo authconfig --enablesssd --enablesssd auth --update
Запустите и включите службу sssd:
sudo service sssd start sudo chkconfig sssd on
Если виртуальная машина не может успешно завершить процесс присоединения к домену, убедитесь, что группа безопасности сети виртуальной машины разрешает исходящий трафик Kerberos через TCP+ UDP-порт 464 в подсеть виртуальной сети для управляемого домена.
Теперь проверьте, можно ли запрашивать сведения о пользователе AD с помощью getent
sudo getent passwd contosoadmin
Разрешить проверку подлинности паролей для SSH
По умолчанию пользователи могут войти только на виртуальную машину с помощью проверки подлинности на основе открытого ключа SSH. Проверка подлинности на основе паролей завершается ошибкой. При присоединении виртуальной машины к управляемому домену эти учетные записи домена должны использовать проверку подлинности на основе паролей. Обновите конфигурацию SSH, чтобы разрешить проверку подлинности на основе паролей следующим образом.
Откройте файл sshd_conf с помощью редактора:
sudo vi /etc/ssh/sshd_config
Обновите строку PasswordAuthentication на да.
PasswordAuthentication yes
По завершении сохраните и закройте файл sshd_conf с помощью команды
:wq
редактора.Чтобы применить изменения и разрешить пользователям войти с помощью пароля, перезапустите службу SSH для версии дистрибутива RHEL:
sudo service sshd restart
Предоставьте привилегии sudo группе 'AAD DC Administrators'
Чтобы предоставить членам группы AAD DC Administrators административные привилегии на виртуальной машине RHEL, добавьте запись в /etc/sudoers. После добавления члены группы администраторов контроллера домена AAD могут использовать команду sudo
на виртуальной машине RHEL.
Откройте файл sudoers для редактирования:
sudo visudo
Добавьте следующую запись в конец /etc/sudoers файла. Группа администраторов AAD DC содержит пробелы в названии, поэтому добавьте символ экранирования косой черты в название группы. Добавьте собственное доменное имя, например aaddscontoso.com:
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALL
По завершении сохраните и закройте редактор с помощью команды
:wq
редактора.
Вход на виртуальную машину с помощью учетной записи домена
Чтобы убедиться, что виртуальная машина успешно присоединена к управляемому домену, запустите новое подключение SSH с помощью учетной записи пользователя домена. Убедитесь, что создается домашний каталог и применяется членство в группах из домена.
Создайте новое подключение SSH из консоли. Используйте учетную запись домена, которая принадлежит управляемому домену с помощью команды
ssh -l
, напримерcontosoadmin@aaddscontoso.com
, а затем введите адрес виртуальной машины, например rhel.aaddscontoso.com. Если вы используете Azure Cloud Shell, используйте общедоступный IP-адрес виртуальной машины, а не внутреннее DNS-имя.ssh -l contosoadmin@AADDSCONTOSO.com rhel.aaddscontoso.com
После успешного подключения к виртуальной машине убедитесь, что домашний каталог инициализирован правильно:
pwd
Вы должны находиться в каталоге /home с собственным каталогом, соответствующим учетной записи пользователя.
Теперь убедитесь, что членства в группах определяются правильно.
id
Вы должны видеть ваше членство в группах из управляемого домена.
Если вы вошли в виртуальную машину как член группы "Администраторы контроллера домена AAD", убедитесь, что вы можете правильно использовать команду
sudo
:sudo yum update
Дальнейшие действия
Если у вас возникли проблемы с подключением виртуальной машины к управляемому домену или входу с помощью учетной записи домена, см. статью Устранение неполадок при присоединении к домену.