Ansluta en Ubuntu Linux virtuell dator till en Azure Active Directory Domain Services-hanterad domän
Om du vill låta användare logga in på virtuella datorer i Azure med en enda uppsättning autentiseringsuppgifter kan du ansluta virtuella datorer till en Azure Active Directory Domain Services-hanterad domän (Azure AD DS). När du ansluter en virtuell dator Azure AD DS en hanterad domän kan användarkonton och autentiseringsuppgifter från domänen användas för att logga in och hantera servrar. Gruppmedlemskap från den hanterade domänen tillämpas också för att du ska kunna styra åtkomsten till filer eller tjänster på den virtuella datorn.
Den här artikeln visar hur du ansluter en virtuell Ubuntu Linux till en hanterad domän.
Förutsättningar
För att slutföra den här självstudien behöver du följande resurser och behörigheter:
- En aktiv Azure-prenumeration.
- Om du inte har en Azure-prenumeration skapar du ett konto.
- En Azure Active Directory-klient som är associerad med din prenumeration, antingen synkroniserad med en lokal katalog eller en endast molnbaserad katalog.
- Om det behövs kan du skapa Azure Active Directory klientorganisation eller associera en Azure-prenumeration med ditt konto.
- En Azure Active Directory Domain Services-hanterad domän aktiverad och konfigurerad i din Azure AD-klientorganisation.
- Om det behövs skapar och konfigurerar den första självstudien en Azure Active Directory Domain Services-hanterad domän.
- Ett användarkonto som är en del av den hanterade domänen. Kontrollera att attributet SAMAccountName för användaren inte har genererats automatiskt. Om flera användarkonton i Azure AD-klienten har samma mailNickname-attribut, kommer SAMAccountName-attributet för varje användare att generera automatiskt. Mer information finns i Hur objekt och autentiseringsuppgifter synkroniseras i en Azure Active Directory Domain Services-hanterad domän.
- Unika namn på virtuella Linux-datorer som är högst 15 tecken för att undvika trunkerade namn som kan orsaka konflikter i Active Directory.
Skapa och ansluta till en virtuell Ubuntu Linux dator
Om du har en Ubuntu Linux virtuell dator i Azure ansluter du till den med hjälp av SSH och fortsätter sedan till nästa steg för att börja konfigurera den virtuella datorn.
Om du behöver skapa en Ubuntu Linux virtuell dator eller vill skapa en virtuell test-dator för användning med den här artikeln kan du använda någon av följande metoder:
När du skapar den virtuella datorn bör du vara uppmärksam på inställningarna för virtuella nätverk för att se till att den virtuella datorn kan kommunicera med den hanterade domänen:
- Distribuera den virtuella datorn till samma eller ett peer-ed virtuellt nätverk där du har aktiverat Azure AD Domain Services.
- Distribuera den virtuella datorn till ett annat undernät än din Azure AD Domain Services hanterade domän.
När den virtuella datorn har distribuerats följer du stegen för att ansluta till den virtuella datorn med hjälp av SSH.
Konfigurera värdfilen
Om du vill kontrollera att den virtuella datorns värdnamn är korrekt konfigurerat för den hanterade domänen redigerar du filen /etc/hosts och anger värdnamnet:
sudo vi /etc/hosts
Uppdatera localhost-adressen i värdfilen. Se följande exempel:
- aaddscontoso.com är DNS-domännamnet för den hanterade domänen.
- ubuntu är värdnamnet för din virtuella Ubuntu-dator som du ansluter till den hanterade domänen.
Uppdatera dessa namn med dina egna värden:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
När du är klar sparar och avslutar du värdfilen med :wq kommandot i redigeraren.
Installera de paket som krävs
Den virtuella datorn behöver några ytterligare paket för att ansluta den virtuella datorn till den hanterade domänen. Om du vill installera och konfigurera dessa paket uppdaterar och installerar du domänkopplingsverktygen med hjälp av apt-get
Under Kerberos-installationen frågar paketet krb5-user efter sfärnamnet i VERSALER. Om till exempel namnet på den hanterade domänen är aaddscontoso.com anger du AADDSCONTOSO.COM som sfär. Installationen skriver avsnitten [realm] och [domain_realm] i konfigurationsfilen /etc/krb5.conf. Se till att du anger sfären MED VERSALER:
sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli
Konfigurera NETWORK Time Protocol (NTP)
För att domänkommunikationen ska fungera korrekt måste datum och tid för din virtuella Ubuntu-dator synkroniseras med den hanterade domänen. Lägg till den hanterade domänens NTP-värdnamn i filen /etc/ntp.conf.
Öppna filen ntp.conf med ett redigeringsprogram:
sudo vi /etc/ntp.confI filen ntp.conf skapar du en rad för att lägga till DNS-namnet för den hanterade domänen. I följande exempel läggs en post för aaddscontoso.com till. Använd ditt eget DNS-namn:
server aaddscontoso.comNär du är klar sparar och avslutar du filen ntp.conf
:wqmed kommandot i redigeraren.Följande steg krävs för att säkerställa att den virtuella datorn synkroniseras med den hanterade domänen:
- Stoppa NTP-servern
- Uppdatera datum och tid från den hanterade domänen
- Starta NTP-tjänsten
Utför de här stegen genom att köra följande kommandon. Använd ditt eget DNS-namn med
ntpdatekommandot :sudo systemctl stop ntp sudo ntpdate aaddscontoso.com sudo systemctl start ntp
Ansluta en virtuell dator till den hanterade domänen
Nu när de nödvändiga paketen har installerats på den virtuella datorn och NTP har konfigurerats ansluter du den virtuella datorn till den hanterade domänen.
Använd kommandot
realm discoverför att identifiera den hanterade domänen. I följande exempel upptäcks sfären AADDSCONTOSO.COM. Ange ditt eget hanterade domännamn i VERSALER:sudo realm discover AADDSCONTOSO.COMOm kommandot
realm discoverinte hittar din hanterade domän granskar du följande felsökningssteg:- Kontrollera att domänen kan nås från den virtuella datorn. Försök
ping aaddscontoso.comatt se om ett positivt svar returneras. - Kontrollera att den virtuella datorn är distribuerad till samma eller ett peer-peer-nätverk där den hanterade domänen är tillgänglig.
- Bekräfta att DNS-serverinställningarna för det virtuella nätverket har uppdaterats så att de pekar på domänkontrollanterna i den hanterade domänen.
- Kontrollera att domänen kan nås från den virtuella datorn. Försök
Initiera nu Kerberos med
kinitkommandot . Ange en användare som är en del av den hanterade domänen. Om det behövs lägger du till ett användarkonto i en grupp i Azure AD.Det hanterade domännamnet måste återigen anges i VERSALER. I följande exempel används kontot med namnet
contosoadmin@aaddscontoso.comför att initiera Kerberos. Ange ett eget användarkonto som ingår i den hanterade domänen:kinit -V contosoadmin@AADDSCONTOSO.COMAnslut slutligen den virtuella datorn till den hanterade domänen med
realm joinkommandot . Använd samma användarkonto som är en del av den hanterade domänen som du angav i föregåendekinitkommando, till exempelcontosoadmin@AADDSCONTOSO.COM:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
Det tar en stund att ansluta den virtuella datorn till den hanterade domänen. Följande exempelutdata visar att den virtuella datorn har anslutits till den hanterade domänen:
Successfully enrolled machine in realm
Om den virtuella datorn inte kan slutföra domänkopplingsprocessen kontrollerar du att den virtuella datorns nätverkssäkerhetsgrupp tillåter utgående Kerberos-trafik på TCP + UDP-port 464 till undernätet för det virtuella nätverket för den hanterade domänen.
Om du har fått felet Ospecificerad GSS-fel. Mindre kod kan ge mer information (servern hittades inte i Kerberos-databasen), öppna filen /etc/krb5.conf och lägg till följande kod i avsnittet och [libdefaults] försök igen:
rdns=false
Uppdatera SSSD-konfigurationen
Ett av de paket som installerades i ett tidigare steg var för System Security Services Daemon (SSSD). När en användare försöker logga in på en virtuell dator med domänautentiseringsuppgifter vidarebefordrar SSSD begäran till en autentiseringsprovider. I det här scenariot använder SSSD Azure AD DS för att autentisera begäran.
Öppna filen sssd.conf med ett redigeringsprogram:
sudo vi /etc/sssd/sssd.confKommentera ut raden för use_fully_qualified_names enligt följande:
# use_fully_qualified_names = TrueNär du är klar sparar och avslutar du filen sssd.conf med
:wqkommandot i redigeraren.Om du vill tillämpa ändringen startar du om SSSD-tjänsten:
sudo systemctl restart sssd
Konfigurera inställningar för användarkonto och grupp
När den virtuella datorn är ansluten till den hanterade domänen och har konfigurerats för autentisering finns det några alternativ för användarkonfiguration att slutföra. Dessa konfigurationsändringar omfattar att tillåta lösenordsbaserad autentisering och automatiskt skapa hemkataloger på den lokala virtuella datorn när domänanvändare loggar in för första gången.
Tillåt lösenordsautentisering för SSH
Som standard kan användarna bara logga in på en virtuell dator med offentlig SSH-nyckelbaserad autentisering. Lösenordsbaserad autentisering misslyckas. När du ansluter den virtuella datorn till en hanterad domän måste dessa domänkonton använda lösenordsbaserad autentisering. Uppdatera SSH-konfigurationen så att lösenordsbaserad autentisering tillåts enligt följande.
Öppna filen sshd_conf med ett redigeringsprogram:
sudo vi /etc/ssh/sshd_configUppdatera raden för PasswordAuthentication till ja:
PasswordAuthentication yesNär du är klar sparar och sshd_conf filen med
:wqkommandot i redigeraren.Om du vill tillämpa ändringarna och låta användarna logga in med ett lösenord startar du om SSH-tjänsten:
sudo systemctl restart ssh
Konfigurera automatiskt skapande av hemkatalog
Utför följande steg för att aktivera automatisk generering av arbetskatalogen när en användare loggar in för första gången:
Öppna filen /etc/pam.d/common-session i ett redigeringsprogram:
sudo vi /etc/pam.d/common-sessionLägg till följande rad i den här filen under raden
session optional pam_sss.so:session required pam_mkhomedir.so skel=/etc/skel/ umask=0077När du är klar sparar och avslutar du common-session-filen
:wqmed kommandot i redigeraren.
Ge gruppen "AAD DC-administratörer" sudo-behörighet
Om du vill ge medlemmar i gruppen AAD-domänkontrollanter administratörsbehörighet på den virtuella Ubuntu-datorn lägger du till en post i /etc/sudoers. När den har lagts till kan medlemmar i gruppen AAD DC-administratörer använda kommandot på den virtuella sudo Ubuntu-datorn.
Öppna sudoers-filen för redigering:
sudo visudoLägg till följande post i slutet av filen /etc/sudoers:
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALLNär du är klar sparar och avslutar du redigeringsredigeraren med
Ctrl-Xkommandot .
Logga in på den virtuella datorn med ett domänkonto
Om du vill kontrollera att den virtuella datorn har anslutits till den hanterade domänen startar du en ny SSH-anslutning med ett domänanvändarkonto. Bekräfta att en hemkatalog har skapats och att gruppmedlemskap från domänen tillämpas.
Skapa en ny SSH-anslutning från konsolen. Använd ett domänkonto som tillhör den hanterade domänen med kommandot , till exempel och ange sedan adressen till den virtuella
ssh -lcontosoadmin@aaddscontoso.comdatorn, till exempel ubuntu.aaddscontoso.com. Om du använder Azure Cloud Shell använder du den virtuella datorns offentliga IP-adress i stället för det interna DNS-namnet.ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.comNär du har anslutit till den virtuella datorn kontrollerar du att arbetskatalogen har initierats korrekt:
pwdDu bör vara i katalogen /home med din egen katalog som matchar användarkontot.
Kontrollera nu att gruppmedlemskapen är korrekt lösta:
idDu bör se dina gruppmedlemskap från den hanterade domänen.
Om du har loggat in på den virtuella datorn som medlem i gruppen AAD DC-administratörer kontrollerar du att du kan använda kommandot
sudokorrekt:sudo apt-get update
Nästa steg
Om du har problem med att ansluta den virtuella datorn till den hanterade domänen eller logga in med ett domänkonto kan du gå till Felsöka problem med domänanslutning.