Dołączanie maszyny wirtualnej z systemem Red Hat Enterprise Linux do domeny zarządzanej usług Microsoft Entra Domain Services
Aby umożliwić użytkownikom logowanie się do maszyn wirtualnych na platformie Azure przy użyciu jednego zestawu poświadczeń, możesz dołączyć maszyny wirtualne do domeny zarządzanej usług Microsoft Entra Domain Services. Po dołączeniu maszyny wirtualnej do domeny zarządzanej usług Domain Services konta użytkowników i poświadczenia z domeny mogą służyć do logowania się serwerów i zarządzania nimi. Członkostwa w grupach z domeny zarządzanej są również stosowane w celu kontrolowania dostępu do plików lub usług na maszynie wirtualnej.
W tym artykule pokazano, jak dołączyć maszynę wirtualną Red Hat Enterprise Linux (RHEL) do domeny zarządzanej.
Warunki wstępne
Do ukończenia tego samouczka potrzebne są następujące zasoby i uprawnienia:
- Aktywna subskrypcja platformy Azure.
- Jeśli nie masz subskrypcji platformy Azure, utwórz konto.
- Dzierżawa Microsoft Entra skojarzona z twoją subskrypcją, zsynchronizowana z katalogiem lokalnym lub katalogiem jedynie w chmurze.
- W razie potrzeby utworzyć dzierżawę usługi Microsoft Entra lub skojarzyć subskrypcję platformy Azure z kontem.
- Zarządzana domena Microsoft Entra Domain Services jest włączona i skonfigurowana w Twojej dzierżawie Microsoft Entra.
- W razie potrzeby pierwszy samouczek tworzy i konfiguruje domenę zarządzaną usługi Microsoft Entra Domain Services.
- Konto użytkownika będące częścią domeny zarządzanej.
- Unikalne nazwy maszyn wirtualnych Linux o maksymalnej długości 15 znaków, aby uniknąć ich obcięcia, co może powodować konflikty w Active Directory.
Tworzenie maszyny wirtualnej z systemem Linux RHEL i nawiązywanie z nią połączenia
Jeśli masz istniejącą maszynę wirtualną Z systemem Linux RHEL na platformie Azure, połącz się z nią przy użyciu protokołu SSH, a następnie przejdź do następnego kroku, aby rozpocząć konfigurowanie maszyny wirtualnej.
Jeśli musisz utworzyć maszynę wirtualną z systemem Linux RHEL lub utworzyć testową maszynę wirtualną do użycia z tym artykułem, możesz użyć jednej z następujących metod:
Podczas tworzenia maszyny wirtualnej należy zwrócić uwagę na ustawienia sieci wirtualnej, aby upewnić się, że maszyna wirtualna może komunikować się z domeną zarządzaną:
- Wdróż maszynę wirtualną w tej samej lub równorzędnej sieci wirtualnej, w której włączono usługi Microsoft Entra Domain Services.
- Wdróż VM w innej podsieci niż domena zarządzana przez Microsoft Entra Domain Services.
Po wdrożeniu maszyny wirtualnej wykonaj kroki, aby nawiązać połączenie z maszyną wirtualną przy użyciu protokołu SSH.
Konfigurowanie pliku hosts
Aby upewnić się, że nazwa hosta maszyny wirtualnej jest poprawnie skonfigurowana dla domeny zarządzanej, zmodyfikuj /etc/hosts pliku i ustaw nazwę hosta:
sudo vi /etc/hosts
W pliku hostów zaktualizuj adres localhost. W poniższym przykładzie:
- aaddscontoso.com to nazwa domeny DNS zarządzanej.
- rhel jest nazwą hosta maszyny wirtualnej RHEL, którą dołączasz do domeny zarządzanej.
Zaktualizuj te nazwy własnymi wartościami:
127.0.0.1 rhel rhel.aaddscontoso.com
Po zakończeniu zapisz i zamknij plik hostów przy użyciu polecenia edytora :wq
.
Ważny
Należy wziąć pod uwagę, że Red Hat Enterprise Linux 6.X i Oracle Linux 6.x są już na końcu okresu wsparcia. System RHEL 6.10 ma dostępną pomocy technicznej ELS, która zakończyła się 06.2024.
Instalowanie wymaganych pakietów
Maszyna wirtualna wymaga dodatkowych pakietów, aby dołączyć maszynę wirtualną do domeny zarządzanej. Aby zainstalować i skonfigurować te pakiety, zaktualizuj i zainstaluj narzędzia przyłączania do domeny przy użyciu yum
.
sudo yum install adcli sssd authconfig krb5-workstation
Dołączanie maszyny wirtualnej do domeny zarządzanej
Teraz, gdy wymagane pakiety są zainstalowane na maszynie wirtualnej, dołącz maszynę wirtualną do domeny zarządzanej.
Użyj polecenia
adcli info
, aby odnaleźć domenę zarządzaną. Poniższy przykład umożliwia odnalezienie obszaru ADDDSCONTOSO.COM. Określ własną nazwę domeny zarządzanej UŻYWAJĄC WIELKICH LITER:sudo adcli info aaddscontoso.com
Jeśli polecenie
adcli info
nie może znaleźć domeny zarządzanej, zapoznaj się z następującymi krokami rozwiązywania problemów:- Upewnij się, że domena jest osiągalna z maszyny wirtualnej. Spróbuj
ping aaddscontoso.com
, aby sprawdzić, czy zostanie zwrócona pozytywna odpowiedź. - Sprawdź, czy maszyna wirtualna jest wdrożona w tej samej lub równorzędnej sieci wirtualnej, w której jest dostępna domena zarządzana.
- Upewnij się, że ustawienia serwera DNS dla sieci wirtualnej są aktualizowane tak, aby wskazywały kontrolery domeny zarządzanej.
- Upewnij się, że domena jest osiągalna z maszyny wirtualnej. Spróbuj
Najpierw dołącz do domeny przy użyciu polecenia
adcli join
. To polecenie tworzy również keytab do uwierzytelnienia maszyny. Użyj konta użytkownika, które jest częścią domeny zarządzanej.sudo adcli join aaddscontoso.com -U contosoadmin
Teraz skonfiguruj
/ect/krb5.conf
i utwórz pliki/etc/sssd/sssd.conf
do korzystania z domeny usługiaaddscontoso.com
Active Directory. Upewnij się, żeAADDSCONTOSO.COM
została zastąpiona własną nazwą domeny:Otwórz plik
/etc/krb5.conf
za pomocą edytora:sudo vi /etc/krb5.conf
Zaktualizuj plik
krb5.conf
, aby był zgodny z następującym przykładem:[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
Utwórz plik
/etc/sssd/sssd.conf
:sudo vi /etc/sssd/sssd.conf
Zaktualizuj plik
sssd.conf
, aby był zgodny z następującym przykładem:[sssd] services = nss, pam, ssh, autofs config_file_version = 2 domains = AADDSCONTOSO.COM [domain/AADDSCONTOSO.COM] id_provider = ad
Upewnij się, że uprawnienia
/etc/sssd/sssd.conf
to 600 i że są własnością użytkownika root:sudo chmod 600 /etc/sssd/sssd.conf sudo chown root:root /etc/sssd/sssd.conf
Użyj
authconfig
, aby poinstruować maszynę wirtualną o integracji z usługą AD Linux:sudo authconfig --enablesssd --enablesssd auth --update
Uruchom i włącz usługę sssd:
sudo service sssd start sudo chkconfig sssd on
Jeśli maszyna wirtualna nie może pomyślnie ukończyć procesu przyłączania do domeny, upewnij się, że sieciowa grupa zabezpieczeń maszyny wirtualnej zezwala na wychodzący ruch Kerberos na porcie TCP + UDP 464 do podsieci sieci wirtualnej dla domeny zarządzanej.
Teraz sprawdź, czy możesz wykonywać zapytania dotyczące informacji AD użytkownika przy użyciu getent
sudo getent passwd contosoadmin
Zezwalaj na uwierzytelnianie haseł dla protokołu SSH
Domyślnie użytkownicy mogą logować się tylko do maszyny wirtualnej przy użyciu uwierzytelniania opartego na kluczach publicznych SSH. Uwierzytelnianie oparte na hasłach kończy się niepowodzeniem. Po dołączeniu maszyny wirtualnej do domeny zarządzanej te konta domeny muszą używać uwierzytelniania opartego na hasłach. Zaktualizuj konfigurację protokołu SSH, aby zezwolić na uwierzytelnianie oparte na hasłach w następujący sposób.
Otwórz plik sshd_conf za pomocą edytora:
sudo vi /etc/ssh/sshd_config
Zaktualizuj wiersz dla PasswordAuthentication na tak:
PasswordAuthentication yes
Po zakończeniu zapisz i zamknij plik sshd_conf przy użyciu polecenia
:wq
edytora.Aby zastosować zmiany i zezwolić użytkownikom na logowanie się przy użyciu hasła, uruchom ponownie usługę SSH dla wersji dystrybucji RHEL:
sudo service sshd restart
Udziel "Administratorom AAD DC" uprawnień sudo
Aby przyznać członkom grupy AAD DC Administrators uprawnienia administracyjne na maszynie wirtualnej RHEL, należy dodać wpis do /etc/sudoers. Po dodaniu członkowie grupy AAD DC Administrators mogą użyć polecenia sudo
na maszynie wirtualnej RHEL.
Otwórz plik sudoers do edycji:
sudo visudo
Dodaj następujący wpis na końcu /etc/sudoers pliku. Grupa Administratorzy kontrolerów domeny AAD zawiera białe znaki w nazwie, dlatego dołącz znak specjalny (backslash) w nazwie grupy. Dodaj własną nazwę domeny, taką jak aaddscontoso.com:
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALL
Po zakończeniu zapisz i zamknij edytor przy użyciu
:wq
polecenia edytora.
Logowanie się do maszyny wirtualnej przy użyciu konta domeny
Aby sprawdzić, czy maszyna wirtualna została pomyślnie przyłączona do domeny zarządzanej, uruchom nowe połączenie SSH przy użyciu konta użytkownika domeny. Upewnij się, że katalog główny został utworzony i że członkostwo w grupie z domeny jest stosowane.
Utwórz nowe połączenie SSH z konsoli. Użyj konta domeny należącego do domeny zarządzanej przy użyciu polecenia
ssh -l
, takiego jakcontosoadmin@aaddscontoso.com
, a następnie wprowadź adres maszyny wirtualnej, na przykład rhel.aaddscontoso.com. Jeśli używasz usługi Azure Cloud Shell, użyj publicznego adresu IP maszyny wirtualnej, a nie wewnętrznej nazwy DNS.ssh -l contosoadmin@AADDSCONTOSO.com rhel.aaddscontoso.com
Po pomyślnym nawiązaniu połączenia z maszyną wirtualną sprawdź, czy katalog macierzysty został poprawnie zainicjowany:
pwd
Powinieneś znajdować się w katalogu /home we własnym katalogu zgodnym z kontem użytkownika.
Teraz sprawdź, czy członkostwa w grupach są prawidłowo rozwiązywane:
id
Powinny zostać wyświetlone członkostwa w grupach z domeny zarządzanej.
Jeśli zalogowano się do maszyny wirtualnej jako członek grupy AAD Administratorzy DC, sprawdź, czy możesz poprawnie użyć polecenia
sudo
:sudo yum update
Następne kroki
Jeśli masz problemy z połączeniem maszyny wirtualnej z domeną zarządzaną lub logowaniem się przy użyciu konta domeny, zobacz Rozwiązywanie problemów z dołączaniem do domeny.