Udostępnij za pośrednictwem


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.

Wymagania wstępne

Do ukończenia tego samouczka potrzebne są następujące zasoby i uprawnienia:

  • Aktywna subskrypcja platformy Azure.
  • Dzierżawa firmy Microsoft Entra skojarzona z twoją subskrypcją, zsynchronizowana z katalogiem lokalnym lub katalogiem tylko w chmurze.
  • Domena zarządzana usług Microsoft Entra Domain Services jest włączona i skonfigurowana w dzierżawie firmy Microsoft Entra.
  • Konto użytkownika będące częścią domeny zarządzanej.
  • Unikatowe nazwy maszyn wirtualnych z systemem Linux, które mają maksymalnie 15 znaków, aby uniknąć obcinania nazw, które mogą powodować konflikty w usłudze 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óż maszynę wirtualną w innej podsieci niż domena zarządzana usług 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 plik /etc/hosts i ustaw nazwę hosta:

sudo vi /etc/hosts

W pliku hosts zaktualizuj adres localhost. W poniższym przykładzie:

  • aaddscontoso.com jest nazwą domeny DNS domeny zarządzanej.
  • rhel to nazwa hosta maszyny wirtualnej RHEL, która jest przyłączona 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 hosts przy użyciu :wq polecenia edytora.

Ważne

Należy wziąć pod uwagę rozwiązania Red Hat Enterprise Linux 6.X i Oracle Linux 6.x jest już EOL. System RHEL 6.10 ma dostępną obsługę ELS, która zakończy 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 programu 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.

  1. Użyj polecenia , adcli info aby odnaleźć domenę zarządzaną. Poniższy przykład umożliwia odnalezienie ADDDSCONTOSO.COM obszaru. Określ własną nazwę domeny zarządzanej we wszystkich wielkich literach:

    sudo adcli info aaddscontoso.com
    

    adcli info Jeśli polecenie 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 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 zostały zaktualizowane tak, aby wskazywały kontrolery domeny zarządzanej.
  2. Najpierw dołącz do domeny przy użyciu adcli join polecenia , to polecenie tworzy również kartę klucza w celu uwierzytelnienia maszyny. Użyj konta użytkownika, które jest częścią domeny zarządzanej.

    sudo adcli join aaddscontoso.com -U contosoadmin
    
  3. Teraz skonfiguruj i /ect/krb5.conf utwórz /etc/sssd/sssd.conf pliki do korzystania z aaddscontoso.com domeny usługi Active Directory. Upewnij się, że AADDSCONTOSO.COM element został zastąpiony własną nazwą domeny:

    Otwórz plik za /etc/krb5.conf pomocą edytora:

    sudo vi /etc/krb5.conf
    

    krb5.conf Zaktualizuj plik, 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
    

    /etc/sssd/sssd.conf Utwórz plik:

    sudo vi /etc/sssd/sssd.conf
    

    sssd.conf Zaktualizuj plik, 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
    
  4. Upewnij się, że /etc/sssd/sssd.conf uprawnienia są 600 i są własnością użytkownika głównego:

    sudo chmod 600 /etc/sssd/sssd.conf
    sudo chown root:root /etc/sssd/sssd.conf
    
  5. Użyj authconfig polecenia , aby poinstruować maszynę wirtualną o integracji z systemem AD Linux:

    sudo authconfig --enablesssd --enablesssd auth --update
    
  6. 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 usługi AD użytkowników przy użyciu polecenia 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.

  1. Otwórz plik sshd_conf za pomocą edytora:

    sudo vi /etc/ssh/sshd_config
    
  2. Zaktualizuj wiersz dla pozycji PasswordAuthentication na wartość tak:

    PasswordAuthentication yes
    

    Po zakończeniu zapisz i zamknij plik sshd_conf przy użyciu :wq polecenia edytora.

  3. 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
    

Udzielanie uprawnień sudo grupy "AAD DC Administracja istrators"

Aby przyznać członkom kontrolera domeny usługi AAD Administracja istrators uprawnienia administracyjne grupy na maszynie wirtualnej RHEL, należy dodać wpis do /etc/sudoers. Po dodaniu członkowie grupy Administracja istratorów kontrolera domeny usługi AAD mogą używać sudo polecenia na maszynie wirtualnej RHEL.

  1. Otwórz plik sudoers do edycji:

    sudo visudo
    
  2. Dodaj następujący wpis na końcu pliku /etc/sudoers . Grupa kontrolerów domeny usługi AAD Administracja istrators zawiera biały znak w nazwie, dlatego dołącz znak ucieczki ukośnika odwrotnego 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 macierzysny został utworzony, a członkostwo w grupie z domeny jest stosowane.

  1. Utwórz nowe połączenie SSH z konsoli. Użyj konta domeny należącego do domeny zarządzanej przy użyciu ssh -l polecenia , takiego jak contosoadmin@aaddscontoso.com , a następnie wprowadź adres maszyny wirtualnej, taki jak 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
    
  2. Po pomyślnym nawiązaniu połączenia z maszyną wirtualną sprawdź, czy katalog macierzysty został poprawnie zainicjowany:

    pwd
    

    Powinien znajdować się w katalogu /home z własnym katalogiem zgodnym z kontem użytkownika.

  3. 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.

  4. Jeśli zalogowano się do maszyny wirtualnej jako członek grupy Administracja istratorów kontrolera domeny usługi AAD, sprawdź, czy możesz poprawnie użyć sudo polecenia :

    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 przyłączaniem do domeny.