Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы пользователи могли входить в виртуальные машины (ВМ) в Azure с помощью одного набора учетных данных, можно присоединить ВМ к управляемому домену Microsoft Entra Domain Services. При присоединении виртуальной машины к управляемому домену доменных служб учетные записи пользователей и учетные данные из домена можно использовать для входа и управления серверами. Членство в группах из управляемого домена также применяется для управления доступом к файлам или службам на виртуальной машине.
В этой статье показано, как присоединить виртуальную машину Ubuntu Linux к управляемому домену.
Предпосылки
Для работы с этим руководством вам потребуются следующие ресурсы и привилегии:
- Активная подписка Azure.
- Если у вас нет подписки на Azure, зарегистрируйтесь для создания учетной записи.
- Клиент Microsoft Entra, связанный с вашей подпиской, синхронизирован либо с локальным каталогом, либо с облачным каталогом.
- При необходимости создайте клиент Microsoft Entra или присоедините подписку Azure к своей учетной записи.
- Управляемый домен доменных служб Microsoft Entra включен и настроен в клиенте Microsoft Entra.
- При необходимости в первом руководстве создается и настраивается управляемый домен в службах домена Microsoft Entra.
- Учетная запись пользователя, которая является частью управляемого домена. Убедитесь, что атрибут SAMAccountName для пользователя не создается автоматически. Если несколько учетных записей пользователей в клиенте Microsoft Entra имеют один и тот же атрибут mailNickname, атрибут SAMAccountName для каждого пользователя автоматически создается. Дополнительные сведения см. в статье о синхронизации объектов и учетных данных в управляемом домене доменных служб Microsoft Entra.
- Уникальные имена виртуальных машин Linux длиной не более 15 символов, чтобы избежать сокращенных имен, которые могут вызвать конфликты в Active Directory.
Создание и подключение к виртуальной машине Ubuntu Linux
Если у вас есть виртуальная машина Ubuntu Linux в Azure, подключитесь к ней с помощью SSH, перейдите к следующему шагу, чтобы начать настройку виртуальной машины.
Если вам нужно создать виртуальную машину Ubuntu Linux или создать тестовую виртуальную машину для использования с этой статьей, можно использовать один из следующих методов:
При создании виртуальной машины обратите внимание на параметры виртуальной сети, чтобы убедиться, что виртуальная машина может взаимодействовать с управляемым доменом:
- Разверните виртуальную машину в той же или одноранговой виртуальной сети, в которой включены доменные службы Microsoft Entra.
- Разверните виртуальную машину в другой подсети, отличной от управляемого домена доменных служб Microsoft Entra.
После развертывания виртуальной машины выполните действия по подключению к виртуальной машине с помощью SSH.
Настройка файла хостов
Чтобы убедиться, что имя узла виртуальной машины правильно настроено для управляемого домена, измените файл /etc/hosts и задайте имя узла:
sudo vi /etc/hosts
В файле hosts обновите адрес localhost. В следующем примере :
- aaddscontoso.com — это DNS-имя управляемого домена.
- ubuntu — это имя узла виртуальной машины Ubuntu, присоединенной к управляемому домену.
Замените эти имена своими значениями:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
По завершении сохраните и закройте файл hosts с помощью команды :wq
редактора.
Установка необходимых пакетов
Для присоединения виртуальной машины к управляемому домену требуется несколько дополнительных пакетов. Чтобы установить и настроить эти пакеты, обновите и установите средства присоединения к домену с помощью apt-get
Во время установки Kerberos пакет krb5-user запрашивает имя области в ALL UPPERCASE. Например, если имя управляемого домена aaddscontoso.com, введите AADDSCONTOSO.COM в качестве области. Установка записывает разделы [realm]
и [domain_realm]
в конфигурационный файл /etc/krb5.conf. Убедитесь, что область указана всем верхним регистром:
sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli
Настройка протокола сетевого времени (NTP)
Чтобы обмен данными между доменами работал правильно, дата и время виртуальной машины Ubuntu должны синхронизироваться с управляемым доменом. Добавьте имя узла NTP управляемого домена в файл /etc/ntp.conf .
Откройте файл ntp.conf с помощью редактора:
sudo vi /etc/ntp.conf
В файле ntp.conf создайте строку, чтобы добавить DNS-имя управляемого домена. В следующем примере добавляется запись для aaddscontoso.com . Используйте собственное DNS-имя:
server aaddscontoso.com
По завершении сохраните и закройте файл ntp.conf с помощью
:wq
команды редактора.Чтобы убедиться, что виртуальная машина синхронизирована с управляемым доменом, необходимо выполнить следующие действия.
- Остановка сервера NTP
- Обновление даты и времени из управляемого домена
- Запуск службы NTP
Чтобы выполнить эти действия, выполните следующие команды. Используйте собственное DNS-имя с помощью команды
ntpdate
.sudo systemctl stop ntp sudo ntpdate aaddscontoso.com sudo systemctl start ntp
Присоединение виртуальной машины к управляемому домену
Теперь, когда необходимые пакеты установлены на виртуальной машине и NTP настроены, присоедините виртуальную машину к управляемому домену.
Используйте команду
realm discover
для обнаружения управляемого домена. В следующем примере обнаруживается область AADDSCONTOSO.COM. Укажите собственное управляемое доменное имя в ALL UPPERCASE:sudo realm discover AADDSCONTOSO.COM
Если команда
realm discover
не может найти управляемый домен, просмотрите следующие действия по устранению неполадок:- Убедитесь, что домен доступен из виртуальной машины. Чтобы проверить, возвращается ли положительный ответ, попробуйте
ping aaddscontoso.com
. - Убедитесь, что виртуальная машина развернута в той же или одноранговой виртуальной сети, в которой доступен управляемый домен.
- Убедитесь, что параметры DNS-сервера для виртуальной сети были обновлены, чтобы указать контроллеры домена управляемого домена.
- Убедитесь, что домен доступен из виртуальной машины. Чтобы проверить, возвращается ли положительный ответ, попробуйте
Теперь инициализировать Kerberos с помощью команды
kinit
. Укажите пользователя, который является частью управляемого домена. При необходимости добавьте учетную запись пользователя в группу в идентификаторе Microsoft Entra.Опять же, имя управляемого домена должно быть введено в ALL UPPERCASE. В следующем примере учетная запись с именем
contosoadmin@aaddscontoso.com
используется для инициализации Kerberos. Введите собственную учетную запись пользователя, которая является частью управляемого домена:sudo kinit -V contosoadmin@AADDSCONTOSO.COM
Наконец, присоединитесь виртуальной машины к управляемому домену с помощью команды
realm join
. Используйте ту же учетную запись пользователя, которая является частью управляемого домена, указанного в предыдущей командеkinit
, напримерcontosoadmin@AADDSCONTOSO.COM
:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
Для присоединения виртуальной машины к управляемому домену потребуется несколько минут. В следующем примере выходных данных показано, что виртуальная машина успешно присоединена к управляемому домену:
Successfully enrolled machine in realm
Если виртуальная машина не может успешно завершить процесс присоединения к домену, убедитесь, что группа безопасности сети виртуальной машины разрешает исходящий трафик Kerberos через TCP+ UDP-порт 464 в подсеть виртуальной сети для управляемого домена.
Если вы получили ошибку Unspecified GSS failure. Дополнительный код может предоставить дополнительные сведения (сервер не найден в базе данных Kerberos), откройте файл /etc/krb5.conf и добавьте следующий код в [libdefaults]
раздел и повторите попытку:
rdns=false
Обновление конфигурации SSSD
Один из пакетов, установленных на предыдущем шаге, был для управляющей программы системных служб безопасности (SSSD). Когда пользователь пытается войти на виртуальную машину с помощью учетных данных домена, SSSD передает запрос поставщику проверки подлинности. В этом сценарии SSSD использует доменные службы для проверки подлинности запроса.
Откройте файл sssd.conf с помощью редактора:
sudo vi /etc/sssd/sssd.conf
Закомментируйте строку для use_fully_qualified_names, как показано ниже:
# use_fully_qualified_names = True
По завершении сохраните и закройте файл sssd.conf с помощью
:wq
команды редактора.Чтобы применить это изменение, перезапустите службу SSSD:
sudo systemctl restart sssd
Настройка параметров учетной записи пользователя и группы
После присоединения виртуальной машины к доменной среде и настройки проверки подлинности, необходимо завершить несколько пользовательских конфигураций. Эти изменения конфигурации включают разрешение проверки подлинности на основе паролей и автоматическое создание домашних каталогов на локальной виртуальной машине при первом входе пользователей домена.
Разрешить проверку подлинности паролей для SSH
По умолчанию пользователи могут входить в виртуальную машину только с помощью проверки подлинности на основе открытых ключей SSH. Проверка подлинности на основе паролей завершается ошибкой. При присоединении виртуальной машины к управляемому домену эти учетные записи домена должны использовать проверку подлинности на основе паролей. Обновите конфигурацию SSH, чтобы разрешить проверку подлинности на основе паролей следующим образом.
Замечание
Образы Ubuntu Marketplace обычно имеют несколько параметров конфигурации в разделе /etc/ssh/sshd_config.d, включая PasswordAuthentication в файле 50-cloud-init.conf, поэтому убедитесь, что вы также обновите этот файл, чтобы избежать перезаписи одного набора, выполнив указанные ниже действия.
Откройте файл sshd_conf с помощью редактора:
sudo vi /etc/ssh/sshd_config
Для строки PasswordAuthentication установите значение yes:
PasswordAuthentication yes
По завершении сохраните и закройте файл sshd_conf с помощью команды
:wq
редактора.Чтобы применить изменения и позволить пользователям входить с помощью пароля, перезапустите службу SSH:
sudo systemctl restart ssh
Настройка автоматического создания домашнего каталога
Чтобы включить автоматическое создание домашнего каталога при первом входе пользователя, выполните следующие действия:
/etc/pam.d/common-session
Откройте файл в редакторе:sudo vi /etc/pam.d/common-session
Добавьте следующую строку в этот файл под строкой
session optional pam_sss.so
:session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
По завершении сохраните и закройте файл общего сеанса с помощью
:wq
команды редактора.
Предоставьте привилегии sudo группе 'AAD DC Administrators'
Чтобы предоставить членам группы администраторов контроллера домена AAD права администратора на виртуальной машине Ubuntu, добавьте запись в /etc/sudoers. После добавления члены группы AAD DC Administrators могут использовать команду sudo
на виртуальной машине Ubuntu.
Откройте файл sudoers для редактирования:
sudo visudo
Добавьте следующую запись в конец файла /etc/sudoers :
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALL
По завершении сохраните и закройте редактор с помощью команды
Ctrl-X
.
Вход на виртуальную машину с помощью учетной записи домена
Чтобы убедиться, что виртуальная машина успешно присоединена к управляемому домену, запустите новое подключение SSH с помощью учетной записи пользователя домена. Убедитесь, что создается домашний каталог и применяется членство в группах из домена.
Создайте новое подключение SSH из консоли. Используйте учетную запись домена, принадлежащую управляемому домену, используя
ssh -l
команду, напримерcontosoadmin@aaddscontoso.com
, введите адрес виртуальной машины, например ubuntu.aaddscontoso.com. Если вы используете Azure Cloud Shell, используйте общедоступный IP-адрес виртуальной машины, а не внутреннее DNS-имя.sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
После успешного подключения к виртуальной машине убедитесь, что домашний каталог инициализирован правильно:
sudo pwd
Вы должны находиться в каталоге /home с собственным каталогом, совпадающим с учетной записью пользователя.
Теперь убедитесь, что членства в группах определяются правильно:
sudo id
Вы должны видеть ваше членство в группах из управляемого домена.
Если вы вошли в виртуальную машину в качестве члена группы администраторов контроллера домена AAD, убедитесь, что вы можете правильно использовать команду
sudo
:sudo apt-get update
Дальнейшие шаги
Если при подключении виртуальной машины к управляемому домену или при входе с помощью учетной записи домена возникли проблемы, см. статью Устранение неполадок при присоединении к домену.