Ansluta en virtuell Linux-dator för Red Hat Enterprise till en Azure Active Directory 域服务 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 hanterad Domän för Azure Active Directory 域服务 (Azure AD DS). När du ansluter en virtuell dator till en Azure AD DS-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å 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 Dator med Red Hat Enterprise Linux (RHEL) till en hanterad domän.

Krav

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 RHEL Linux-dator

Om du har en befintlig virtuell RHEL 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 RHEL 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 Azure AD Domain Services.
  • Distribuera den virtuella datorn till ett annat undernät än din Azure AD Domäntjänster hanterad 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

Kontrollera att värdnamnet för den virtuella datorn är korrekt konfigurerat för den hanterade domänen genom att redigera filen /etc/hosts och ange värdnamnet:

sudo vi /etc/hosts

Uppdatera localhost-adressen i värdfilen. Se följande exempel:

  • aaddscontoso.com är DNS-domännamnet för din hanterade domän.
  • rhel är värdnamnet för den virtuella RHEL-dator som du ansluter till den hanterade domänen.

Uppdatera dessa namn med dina egna värden:

127.0.0.1 rhel rhel.aaddscontoso.com

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änanslutningsverktygen med hjälp av yum. Det finns vissa skillnader mellan RHEL 7.x och RHEL 6.x, så använd lämpliga kommandon för distributionsversionen i de återstående avsnitten i den här artikeln.

RHEL 7

sudo yum install realmd sssd krb5-workstation krb5-libs oddjob oddjob-mkhomedir samba-common-tools

RHEL 6

sudo yum install adcli sssd authconfig krb5-workstation

Ansluta den virtuella datorn till den hanterade domänen

Nu när de nödvändiga paketen har installerats på den virtuella datorn ansluter du den virtuella datorn till den hanterade domänen. Använd återigen lämpliga steg för RHEL-distributionsversionen.

RHEL 7

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

    sudo realm discover AADDSCONTOSO.COM
    

    realm discover Om kommandot inte kan hitta din hanterade domän läser du följande felsökningssteg:

    • Kontrollera att domänen kan nås från den virtuella datorn. Försök ping aaddscontoso.com 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 nu Kerberos med kinit kommandot . 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.

    Återigen måste det hanterade domännamnet anges 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:

    kinit contosoadmin@AADDSCONTOSO.COM
    
  3. Anslut slutligen den virtuella datorn till den hanterade domänen realm join med kommandot . Använd samma användarkonto som ingår i 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'
    

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

RHEL 6

  1. adcli info Använd kommandot för att identifiera den hanterade domänen. I följande exempel identifieras sfärens ADDDSCONTOSO.COM. Ange ditt eget hanterade domännamn i VERSALER:

    sudo adcli info aaddscontoso.com
    

    adcli info Om kommandot inte kan hitta din hanterade domän läser du följande felsökningssteg:

    • Kontrollera att domänen kan nås från den virtuella datorn. Försök ping aaddscontoso.com 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. Anslut först domänen adcli join med kommandot . Det här kommandot skapar även nyckelfliken för att autentisera datorn. Använd ett användarkonto som är en del av den hanterade domänen.

    sudo adcli join aaddscontoso.com -U contosoadmin
    
  3. /ect/krb5.conf Konfigurera nu och skapa /etc/sssd/sssd.conf filerna för att använda aaddscontoso.com Active Directory-domänen. Se till att AADDSCONTOSO.COM ersätts av ditt eget domännamn:

    /ect/krb5.conf Öppna filen med ett redigeringsprogram:

    sudo vi /etc/krb5.conf
    

    krb5.conf Uppdatera filen så att den matchar följande exempel:

    [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 Skapa filen:

    sudo vi /etc/sssd/sssd.conf
    

    sssd.conf Uppdatera filen så att den matchar följande exempel:

    [sssd]
     services = nss, pam, ssh, autofs
     config_file_version = 2
     domains = AADDSCONTOSO.COM
    
    [domain/AADDSCONTOSO.COM]
    
     id_provider = ad
    
  4. Kontrollera att /etc/sssd/sssd.conf behörigheterna är 600 och ägs av rotanvändaren:

    sudo chmod 600 /etc/sssd/sssd.conf
    sudo chown root:root /etc/sssd/sssd.conf
    
  5. Använd authconfig för att instruera den virtuella datorn om AD Linux-integrering:

    sudo authconfig --enablesssd --enablesssdauth --update
    
  6. Starta och aktivera sssd-tjänsten:

    sudo service sssd start
    sudo chkconfig sssd on
    

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ätverkets undernät för din hanterade domän.

Kontrollera nu om du kan fråga användarens AD-information med hjälp av getent

sudo getent passwd contosoadmin

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 enligt följande.

  1. Öppna filen sshd_conf med ett redigeringsprogram:

    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 sshd_conf-filen med :wq kommandot i redigeraren.

  3. Om du vill tillämpa ändringarna och låta användarna logga in med ett lösenord startar du om SSH-tjänsten för RHEL-distributionsversionen:

    RHEL 7

    sudo systemctl restart sshd
    

    RHEL 6

    sudo service sshd restart
    

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

Om du vill bevilja medlemmar i gruppen AAD DC-administratörer administratörsbehörigheter på den virtuella RHEL-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 sudo kommandot på den virtuella RHEL-datorn.

  1. Öppna sudoers-filen för redigering:

    sudo visudo
    
  2. Lägg till följande post i slutet av filen /etc/sudoers . Gruppen AAD DC-administratörer innehåller blanksteg i namnet, så inkludera escape-tecknet för omvänt snedstreck i gruppnamnet. Lägg till ditt eget domännamn, till exempel aaddscontoso.com:

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

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

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 ssh -l med kommandot , till exempel contosoadmin@aaddscontoso.com och ange sedan adressen för den virtuella datorn, till exempel rhel.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 rhel.aaddscontoso.com
    
  2. När du har anslutit till den virtuella datorn kontrollerar du att hemkatalogen har initierats korrekt:

    pwd
    

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

  3. Kontrollera nu att gruppmedlemskapen löses korrekt:

    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 sudo kommandot korrekt:

    sudo yum 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 läser du Felsöka problem med domänanslutning.