Een virtuele 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 door 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 om u aan te melden en servers te beheren. 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 actief Azure-abonnement.
- Als u nog geen Azure-abonnement hebt, maakt u een account.
- Een Azure Active Directory-tenant die aan uw abonnement is gekoppeld, gesynchroniseerd met een on-premises map of een cloudmap.
- Een door Azure Active Directory Domain Services beheerd domein dat in uw Azure AD-tenant is ingeschakeld en geconfigureerd.
- Bekijk zo nodig de eerste zelfstudie voor het maken en configureren van een door Azure Active Directory Domain Services beheerd domein.
- Een gebruikersaccount dat deel uitmaakt van het beheerde domein. Zorg ervoor dat het kenmerk SAMAccountName voor de gebruiker niet automatisch is gegenereerd. Als meerdere gebruikersaccounts in de Azure AD-tenant hetzelfde kenmerk mailNickname hebben, wordt het kenmerk SAMAccountName voor elke gebruiker automatisch gegenereerd. Zie How objects and credentials are synchronized in anAzure Active Directory Domain Services managed domain (Hoe objecten en referenties worden gesynchroniseerd in een door Domain Services beheerd domein) voor meer informatie.
- Unieke linux-VM-namen van maximaal 15 tekens om afgekapte namen te voorkomen die conflicten in Active Directory kunnen veroorzaken.
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. Ga vervolgens 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 beheerde 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 :wq de 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 is, voert AADDSCONTOSO.COM in als de realm. De installatie schrijft de [realm] [domain_realm] secties en in het configuratiebestand /etc/krb5.conf. Zorg ervoor dat u de realm een ALLE HOOFDLETTERS 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 hostnaam NTP van uw beheerde domein toe aan het bestand /etc/ntp.conf.
Open het bestand ntp.conf met een editor:
sudo vi /etc/ntp.confMaak 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.comWanneer u klaar bent, sla en sluit het bestand ntp.conf met de
:wqopdracht van de editor.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
ntpdateopdracht :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.
Gebruik de
realm discoveropdracht 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.COMAls de
realm discoveropdracht uw beheerde domein niet kan vinden, bekijkt u de volgende stappen voor probleemoplossing:- Zorg ervoor dat het domein bereikbaar is vanaf de VM. Probeer
ping aaddscontoso.comte 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.
- Zorg ervoor dat het domein bereikbaar is vanaf de VM. Probeer
Initialiseer Kerberos nu met behulp van de
kinitopdracht . 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
contosoadmin@aaddscontoso.comnaam gebruikt om Kerberos te initialiseren. Voer uw eigen gebruikersaccount in dat deel uitmaakt van het beheerde domein:kinit -V contosoadmin@AADDSCONTOSO.COMVoeg ten slotte de VM toe aan het beheerde domein met behulp van de
realm joinopdracht . Gebruik hetzelfde gebruikersaccount dat deel uitmaakt van het beheerde domein dat u in de vorige opdracht hebtkinitopgegeven, zoalscontosoadmin@AADDSCONTOSO.COM:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
Het duurt enkele ogenblikken 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 de sectie en probeert u het [libdefaults] 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.
Open het bestand sssd.conf met een editor:
sudo vi /etc/sssd/sssd.confU kunt de regel voor de use_fully_qualified_names als volgt uitcommenter:
# use_fully_qualified_names = TrueWanneer u klaar bent, kunt u het bestand sssd.conf opslaan en afsluiten met de
:wqopdracht van de editor.Als u de wijziging wilt toepassen, start u de SSSD-service opnieuw op:
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.
Open het sshd_conf met een editor:
sudo vi /etc/ssh/sshd_configWerk de regel voor PasswordAuthentication bij naar ja:
PasswordAuthentication yesWanneer u klaar bent, kunt u het sshd_conf opslaan en afsluiten met
:wqde opdracht van de editor.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 aan meldt, moet u de volgende stappen voltooien:
Open het bestand /etc/pam.d/common-session in een editor:
sudo vi /etc/pam.d/common-sessionVoeg de volgende regel in dit bestand toe onder de regel
session optional pam_sss.so:session required pam_mkhomedir.so skel=/etc/skel/ umask=0077Wanneer u klaar bent, kunt u het bestand met algemene sessies opslaan en afsluiten met de opdracht van de
:wqeditor.
De groep 'AAD DC Administrators' sudo-bevoegdheden verlenen
Als u leden van de groep AAD DC-beheerders beheerdersrechten wilt verlenen op de Ubuntu-VM, voegt u een vermelding toe aan de /etc/sudoers. Nadat de groep dc AAD beheerders is toegevoegd, kunnen ze de opdracht op de sudo Ubuntu-VM gebruiken.
Open het sudoers-bestand om het te bewerken:
sudo visudoVoeg 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:ALLWanneer u klaar bent, kunt u de editor opslaan en afsluiten met behulp van de
Ctrl-Xopdracht .
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.
Maak een nieuwe SSH-verbinding vanuit uw console. Gebruik een domeinaccount dat bij het beheerde domein hoort met behulp van de opdracht , zoals en voer vervolgens het adres van uw
ssh -lcontosoadmin@aaddscontoso.comVM 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.comWanneer u verbinding hebt gemaakt met de VM, controleert u of de basismap correct is initialiseerd:
pwdU moet zich in de map /home met uw eigen directory die overeenkomt met het gebruikersaccount.
Controleer nu of de groepslidmaatschap correct wordt opgelost:
idAls het goed is, ziet u uw groepslidmaatschap uit het beheerde domein.
Als u zich bij de VM hebt aangemeld als lid van de groep AAD DC-beheerders, controleert u of u de opdracht correct kunt
sudogebruiken: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.