Een virtuele machine Ubuntu Linux toevoegen aan een Azure Active Directory Domain Services-beheerd domein

Als u wilt dat gebruikers zich met één set referenties kunnen aanmelden bij virtuele machines (VM's) in Azure, kunt u VM's toevoegen aan een Azure Active Directory Domain Services (Azure AD DS) beheerd domein. Wanneer u een VM aan een Azure AD DS beheerd domein, kunnen gebruikersaccounts en referenties van het domein worden gebruikt voor het aanmelden en beheren van servers. Groepslidmaatschap van het beheerde domein wordt ook toegepast om u de toegang tot bestanden of services op de VM te laten beheren.

In dit artikel wordt beschreven hoe u een virtuele Ubuntu Linux aan een beheerd domein kunt toevoegen.

Vereisten

Om deze zelfstudie te voltooien, hebt u de volgende resources en machtigingen nodig:

Een virtuele Ubuntu Linux maken en er verbinding mee maken

Als u een bestaande virtuele Ubuntu Linux in Azure hebt, maakt u er verbinding mee via SSH en gaat u verder met de volgende stap om te beginnen met het configureren van de VM.

Als u een virtuele Ubuntu Linux wilt maken of als u een test-VM wilt maken voor gebruik met dit artikel, kunt u een van de volgende methoden gebruiken:

Let bij het maken van de virtuele machine op de instellingen van het virtuele netwerk om ervoor te zorgen dat de virtuele machine kan communiceren met het beheerde domein:

  • Implementeer de virtuele machine in hetzelfde, of een peered, virtueel netwerk waarin u de VM hebt Azure AD Domain Services.
  • Implementeer de virtuele machine in een ander subnet dan uw Azure AD Domain Services beheerd domein.

Nadat de VM is geïmplementeerd, volgt u de stappen om via SSH verbinding te maken met de VM.

Het hosts-bestand configureren

Bewerk het bestand /etc/hosts en stel de hostnaam in om ervoor te zorgen dat de hostnaam van de VM correct is geconfigureerd voor het beheerde domein:

sudo vi /etc/hosts

Werk in het hosts-bestand het localhost-adres bij. In het volgende voorbeeld:

  • aaddscontoso.com is de DNS-domeinnaam van uw beheerde domein.
  • ubuntu is de hostnaam van uw Ubuntu-VM die u wilt toevoegen aan het beheerde domein.

Werk deze namen bij met uw eigen waarden:

127.0.0.1 ubuntu.aaddscontoso.com ubuntu

Wanneer u klaar bent, kunt u het hosts-bestand opslaan en afsluiten met de :wq opdracht van de editor.

De vereiste pakketten installeren

De VM heeft een aantal extra pakketten nodig om de VM aan het beheerde domein te kunnen toevoegen. Als u deze pakketten wilt installeren en configureren, moet u de hulpprogramma's voor domein-join bijwerken en installeren met apt-get

Tijdens de installatie van Kerberos wordt in het pakket krb5-user in HOOFDLETTERS om de realmnaam gevraagd. Als de naam van uw beheerde domein bijvoorbeeld aaddscontoso.com, voert u AADDSCONTOSO.COM in als de realm. De installatie schrijft de [realm] secties en [domain_realm] in het configuratiebestand /etc/krb5.conf . Zorg ervoor dat u de realm een ALL UPPERCASE opgeeft:

sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli

Network Time Protocol (NTP) configureren

Domeincommunicatie werkt alleen goed als de datum en tijd van uw Ubuntu-VM worden gesynchroniseerd met het beheerde domein. Voeg de NTP-hostnaam van uw beheerde domein toe aan het bestand /etc/ntp.conf .

  1. Open het bestand ntp.conf met een editor:

    sudo vi /etc/ntp.conf
    
  2. Maak in het bestand ntp.conf een regel om de DNS-naam van uw beheerde domein toe te voegen. In het volgende voorbeeld wordt een vermelding voor aaddscontoso.com toegevoegd. Gebruik uw eigen DNS-naam:

    server aaddscontoso.com
    

    Sla het bestand ntp.conf op en sluit het af met de :wq opdracht van de editor.

  3. Om ervoor te zorgen dat de VM wordt gesynchroniseerd met het beheerde domein, zijn de volgende stappen nodig:

    • De NTP-server stoppen
    • De datum en tijd van het beheerde domein bijwerken
    • De NTP-service starten

    Voer de volgende opdrachten uit om deze stappen uit te voeren. Gebruik uw eigen DNS-naam met de ntpdate opdracht :

    sudo systemctl stop ntp
    sudo ntpdate aaddscontoso.com
    sudo systemctl start ntp
    

VM toevoegen aan het beheerde domein

Nu de vereiste pakketten zijn geïnstalleerd op de VM en NTP is geconfigureerd, voegt u de VM toe aan het beheerde domein.

  1. Gebruik de opdracht realm discover om het beheerde domein te ontdekken. In het volgende voorbeeld wordt de realm AADDSCONTOSO.COM. Geef uw eigen beheerde domeinnaam op in HOOFDLETTERS:

    sudo realm discover AADDSCONTOSO.COM
    

    Als de opdracht realm discover uw beheerde domein niet kan vinden, controleert u de volgende stappen voor probleemoplossing:

    • Zorg ervoor dat het domein bereikbaar is vanaf de VM. Probeer ping aaddscontoso.com te zien of er een positief antwoord wordt geretourneerd.
    • Controleer of de virtuele machine is geïmplementeerd in hetzelfde, of een peered, virtueel netwerk waarin het beheerde domein beschikbaar is.
    • Controleer of de DNS-serverinstellingen voor het virtuele netwerk zijn bijgewerkt zodat deze naar de domeincontrollers van het beheerde domein wijzen.
  2. Initialiseer Kerberos nu met de kinit opdracht . Geef een gebruiker op die deel uitmaakt van het beheerde domein. Voeg indien nodig een gebruikersaccount toe aan een groep in Azure AD.

    Ook hier moet de naam van het beheerde domein worden ingevoerd in HOOFDLETTERS. In het volgende voorbeeld wordt het account met de naam contosoadmin@aaddscontoso.com gebruikt om Kerberos te initialiseren. Voer uw eigen gebruikersaccount in dat deel uitmaakt van het beheerde domein:

    kinit -V contosoadmin@AADDSCONTOSO.COM
    
  3. Voeg ten slotte de VM toe aan het beheerde domein met behulp van de realm join opdracht . Gebruik hetzelfde gebruikersaccount dat deel uitmaakt van het beheerde domein dat u in de vorige kinit opdracht hebt opgegeven, zoals contosoadmin@AADDSCONTOSO.COM:

    sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
    

Het duurt even om de VM aan het beheerde domein toe te sluiten. In de volgende voorbeelduitvoer ziet u dat de VM is verbonden met het beheerde domein:

Successfully enrolled machine in realm

Als uw VM het proces voor domein-join niet kan voltooien, moet u ervoor zorgen dat de netwerkbeveiligingsgroep van de VM uitgaand Kerberos-verkeer op TCP + UDP-poort 464 naar het subnet van het virtuele netwerk voor uw beheerde domein toestaat.

Als u de fout Niet-gespecificeerde GSS-fout hebt ontvangen. Secundaire code biedt mogelijk meer informatie (Server niet gevonden in Kerberos-database), opent u het bestand /etc/krb5.conf en voegt u de volgende code toe in [libdefaults] de sectie en probeert u het opnieuw:

rdns=false

De SSSD-configuratie bijwerken

Een van de pakketten die in een vorige stap zijn geïnstalleerd, was voor System Security Services Daemon (SSSD). Wanneer een gebruiker zich probeert aan te melden bij een VM met domeinreferenties, wordt de aanvraag door SSSD doorgegeven aan een verificatieprovider. In dit scenario gebruikt SSSD Azure AD DS om de aanvraag te verifiëren.

  1. Open het bestand sssd.conf met een editor:

    sudo vi /etc/sssd/sssd.conf
    
  2. U kunt de regel voor de use_fully_qualified_names als volgt uitcommenter:

    # use_fully_qualified_names = True
    

    Sla het bestand sssd.conf op en sluit het af met de :wq opdracht van de editor.

  3. Als u de wijziging wilt toepassen, start u de SSSD-service opnieuw:

    sudo systemctl restart sssd
    

Gebruikersaccount- en groepsinstellingen configureren

Nu de VM is verbonden met het beheerde domein en is geconfigureerd voor verificatie, zijn er enkele configuratieopties voor gebruikers om te voltooien. Deze configuratiewijzigingen omvatten het toestaan van verificatie op basis van wachtwoorden en het automatisch maken van basisdirecties op de lokale VM wanneer domeingebruikers zich voor het eerst aanmelden.

Wachtwoordverificatie voor SSH toestaan

Standaard kunnen gebruikers zich alleen aanmelden bij een VM met behulp van verificatie op basis van openbare SSH-sleutels. Verificatie op basis van wachtwoorden mislukt. Wanneer u de VM aan een beheerd domein wilt toevoegen, moeten deze domeinaccounts gebruikmaken van verificatie op basis van wachtwoorden. Werk de SSH-configuratie als volgt bij om verificatie op basis van wachtwoorden toe te staan.

  1. Open het sshd_conf met een editor:

    sudo vi /etc/ssh/sshd_config
    
  2. Werk de regel voor PasswordAuthentication bij naar ja:

    PasswordAuthentication yes
    

    Wanneer u klaar bent, kunt u het sshd_conf opslaan en afsluiten met de :wq opdracht van de editor.

  3. Als u de wijzigingen wilt toepassen en gebruikers zich wilt laten aanmelden met een wachtwoord, start u de SSH-service opnieuw op:

    sudo systemctl restart ssh
    

Automatisch maken van basismap configureren

Als u het automatisch maken van de basismap wilt inschakelen wanneer een gebruiker zich voor het eerst meldt, moet u de volgende stappen voltooien:

  1. Open het bestand /etc/pam.d/common-session in een editor:

    sudo vi /etc/pam.d/common-session
    
  2. Voeg de volgende regel in dit bestand toe onder de regel session optional pam_sss.so:

    session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
    

    Wanneer u klaar bent, kunt u het algemene sessiebestand opslaan en afsluiten met de :wq opdracht van de editor.

De groep 'AAD DC Administrators' sudo-bevoegdheden verlenen

Als u leden van de groep AAD DC Administrators beheerdersbevoegdheden wilt verlenen op de Ubuntu-VM, voegt u een vermelding toe aan de /etc/sudoers. Zodra de groep dc AAD beheerders is toegevoegd, kunnen ze de sudo opdracht op de Ubuntu-VM gebruiken.

  1. Open het sudoers-bestand om het te bewerken:

    sudo visudo
    
  2. Voeg de volgende vermelding toe aan het einde van het bestand /etc/sudoers :

    # Add 'AAD DC Administrators' group members as admins.
    %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALL
    

    Wanneer u klaar bent, kunt u de editor opslaan en afsluiten met behulp van de Ctrl-X opdracht .

Aanmelden bij de VM met een domeinaccount

Als u wilt controleren of de VM is verbonden met het beheerde domein, start u een nieuwe SSH-verbinding met behulp van een domeingebruikersaccount. Controleer of er een basismap is gemaakt en of het groepslidmaatschap van het domein wordt toegepast.

  1. Maak een nieuwe SSH-verbinding vanuit uw console. Gebruik een domeinaccount dat bij ssh -l het beheerde domein hoort met behulp van de opdracht , contosoadmin@aaddscontoso.com zoals en voer vervolgens het adres van uw VM in, zoals ubuntu.aaddscontoso.com. Als u de Azure Cloud Shell, gebruikt u het openbare IP-adres van de VM in plaats van de interne DNS-naam.

    ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
    
  2. Wanneer u verbinding hebt gemaakt met de VM, controleert u of de basismap correct is initialiseerd:

    pwd
    

    U moet zich in de map /home met uw eigen directory die overeenkomt met het gebruikersaccount.

  3. Controleer nu of de groepslidmaatschap correct wordt opgelost:

    id
    

    Als het goed is, ziet u de groepslidmaatschap uit het beheerde domein.

  4. Als u zich bij de VM hebt aangemeld als lid van de groep AAD DC-beheerders, controleert u of u de opdracht correct kunt sudo gebruiken:

    sudo apt-get update
    

Volgende stappen

Zie Troubleshooting domain join issues (Problemen met domein toevoegen oplossen) als u problemen hebt met het verbinden van de VM met het beheerde domein of het aanmelden met een domeinaccount.