Dela via


Ansluta en virtuell Ubuntu Linux-dator till en hanterad Domän för Microsoft Entra Domain Services

Om du vill låta användare logga in på virtuella datorer i Azure med hjälp av en enda uppsättning autentiseringsuppgifter kan du ansluta virtuella datorer till en hanterad domän i Microsoft Entra Domain Services. När du ansluter en virtuell dator till en domän som hanteras av Domain Services 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å så att du kan styra åtkomsten till filer eller tjänster på den virtuella datorn.

Den här artikeln visar hur du ansluter en virtuell Ubuntu Linux-dator 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:

Skapa och ansluta till en virtuell Ubuntu Linux-dator

Om du har en befintlig virtuell Ubuntu Linux-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 virtuell Ubuntu Linux-dator eller vill skapa en virtuell testdator 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 det virtuella nätverket 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-kopplat virtuellt nätverk där du har aktiverat Microsoft Entra Domain Services.
  • Distribuera den virtuella datorn till ett annat undernät än din hanterade Domän för Microsoft Entra Domain Services.

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

För att se till att värdnamnet för den virtuella datorn är korrekt konfigurerat för den hanterade domänen redigerar du filen /etc/hosts och anger värdnamnet:

sudo vi /etc/hosts

I filen hosts uppdaterar man adressen localhost. I följande exempel:

  • aaddscontoso.com är DNS-domännamnet för din hanterade domän.
  • ubuntu är värdnamnet för den 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, avslutar och sparar du filen hosts med hjälp av kommandot :wq i redigeraren.

Installera nödvändiga paket

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 verktygen för domänanslutning med hjälp av apt-get

Under Kerberos-installationen frågar krb5-user--paketet efter sfärnamnet i VERSALER. Om namnet på den hanterade domänen till exempel är aaddscontoso.comanger du AADDSCONTOSO.COM som sfär. Installationen skriver avsnitten [realm] och [domain_realm] i /etc/krb5.conf konfigurationsfil. Kontrollera att du anger området med STORA BOKSTÄVER.

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

Konfigurera NTP (Network Time Protocol)

För att domänkommunikationen ska fungera korrekt måste datum och tid för den virtuella Ubuntu-datorn synkroniseras med den hanterade domänen. Lägg till den hanterade domänens NTP-värdnamn i filen /etc/ntp.conf.

  1. Öppna filen ntp.conf med en redigerare:

    sudo vi /etc/ntp.conf
    
  2. I 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.com
    

    När du är klar sparar och avslutar du filen ntp.conf med hjälp av kommandot :wq i redigeraren.

  3. För att se till att den virtuella datorn är synkroniserad med den hanterade domänen krävs följande steg:

    • Stoppa NTP-servern
    • Uppdatera datum och tid från den hanterade domänen
    • Starta NTP-tjänsten

    Kör följande kommandon för att slutföra de här stegen. Använd ditt eget DNS-namn med kommandot ntpdate:

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

Ansluta den virtuella datorn 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.

  1. Använd kommandot realm discover för att identifiera den hanterade domänen. I följande exempel identifieras domänen AADDSCONTOSO.COM. Ange ditt eget hanterade domännamn i VERSALER:

    sudo realm discover AADDSCONTOSO.COM
    

    Om realm discover-kommandot inte kan hitta din hanterade domän, granska följande felsökningssteg.

    • Kontrollera att domänen kan nås från den virtuella datorn. Prova ping aaddscontoso.com för att se om ett positivt svar returneras.
    • Kontrollera att den virtuella datorn har distribuerats till samma eller ett peer-kopplat virtuellt 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 för den hanterade domänen.
  2. Initiera kerberos med hjälp av kommandot kinit. Ange en användare som är en del av den hanterade domänen. Om det behövs lägga till ett användarkonto i en grupp i Microsoft Entra ID.

    Återigen måste det hanterade domännamnet skrivas i VERSALER. I följande exempel används kontot med namnet contosoadmin@aaddscontoso.com för att initiera Kerberos. Ange ditt eget användarkonto som ingår i den hanterade domänen:

    sudo kinit -V contosoadmin@AADDSCONTOSO.COM
    
  3. Anslut slutligen den virtuella datorn till den hanterade domänen med hjälp av kommandot realm join. Använd samma användarkonto som är en del av den hanterade domän som du angav i föregående kinit kommando, till exempel contosoadmin@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änanslutningsprocessen kontrollerar du att den virtuella datorns nätverkssäkerhetsgrupp tillåter utgående Kerberos-trafik på TCP + UDP-port 464 till det virtuella nätverksundernätet för din hanterade domän.

Om du fick felet ospecificerat 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 [libdefaults] avsnittet och försök igen:

rdns=false

Uppdatera SSSD-konfigurationen

Ett av paketen 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 Domain Services för att autentisera begäran.

  1. Öppna filen sssd.conf med en redigerare:

    sudo vi /etc/sssd/sssd.conf
    
  2. Kommentera ut raden för use_fully_qualified_names på följande sätt:

    # use_fully_qualified_names = True
    

    När du är klar sparar och avslutar du filen sssd.conf med hjälp av :wq-kommandot i redigeraren.

  3. Starta om SSSD-tjänsten för att tillämpa ändringen:

    sudo systemctl restart sssd
    

Konfigurera inställningar för användarkonton och grupper

Med den virtuella datorn ansluten till den hanterade domänen och konfigurerad 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ändarna först loggar in.

Tillåt lösenordsautentisering för SSH

Som standard kan användarna bara logga in på en virtuell dator med hjälp av 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 på följande sätt.

Not

Ubuntu Marketplace-avbildningar har vanligtvis några konfigurationsalternativ som anges under /etc/ssh/sshd_config.d, inklusive PasswordAuthentication i filen 50-cloud-init.conf, så se till att du även uppdaterar filen för att undvika att den skrivs över med stegen nedan.

  1. Öppna filen sshd_conf med en redigerare:

    sudo vi /etc/ssh/sshd_config
    
  2. Uppdatera raden för PasswordAuthentication till ja:

    PasswordAuthentication yes
    

    När du är klar sparar och avslutar du filen sshd_conf med hjälp av kommandot :wq i redigeraren.

  3. Starta om SSH-tjänsten för att tillämpa ändringarna och låta användarna logga in med ett lösenord:

    sudo systemctl restart ssh
    

Konfigurera automatisk skapande av hemkatalog

Utför följande steg för att aktivera automatisk skapande av hemkatalogen när en användare loggar in:

  1. Öppna filen /etc/pam.d/common-session i ett redigeringsprogram:

    sudo vi /etc/pam.d/common-session
    
  2. Lä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=0077
    

    När du är klar sparar och avslutar du common-session--fil med hjälp av kommandot :wq i redigeraren.

Bevilja sudo-behörigheterna för gruppen "AAD DC-administratörer"

Om du vill bevilja medlemmar i AAD DC-administratörer administratörsbehörigheter för grupper på den virtuella Ubuntu-datorn lägger du till en post i /etc/sudoers. När de har lagts till kan medlemmar i gruppen AAD DC-administratörer använda kommandot sudo på den virtuella Ubuntu-datorn.

  1. Öppna filen sudoers för redigering:

    sudo visudo
    
  2. Lägg till följande post i slutet av /etc/sudoers fil:

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

    När du är klar sparar och avslutar du redigeraren med hjälp av kommandot Ctrl-X.

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.

  1. Skapa en ny SSH-anslutning från konsolen. Använd ett domänkonto som tillhör den hanterade domänen med hjälp av kommandot ssh -l, till exempel contosoadmin@aaddscontoso.com och ange sedan adressen till den virtuella datorn, till exempel ubuntu.aaddscontoso.com. Om du använder Azure Cloud Shell använder du den offentliga IP-adressen för den virtuella datorn i stället för det interna DNS-namnet.

    sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
    
  2. När du har anslutit till den virtuella datorn kontrollerar du att hemkatalogen har initierats korrekt:

    sudo pwd
    

    Du bör vara i katalogen /home med din egen katalog som matchar användarkontot.

  3. Kontrollera nu att gruppmedlemskapen löses korrekt:

    sudo id
    

    Du bör se dina gruppmedlemskap från den hanterade domänen.

  4. 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 sudo på rätt sätt:

    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 läsa Felsöka problem med domänanslutning.