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:
- 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 katalog endast i molnet.
- En Azure Active Directory 域服务 hanterad domän aktiverad och konfigurerad i din Azure AD klientorganisation.
- Vid behov skapar och konfigurerar den första självstudien en Azure Active Directory 域服务 hanterad domän.
- Ett användarkonto som är en del av den hanterade domänen.
- 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 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
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.
- Kontrollera att domänen kan nås från den virtuella datorn. Försök
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
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åendekinit
kommando, till exempelcontosoadmin@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
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.
- Kontrollera att domänen kan nås från den virtuella datorn. Försök
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
/ect/krb5.conf
Konfigurera nu och skapa/etc/sssd/sssd.conf
filerna för att användaaaddscontoso.com
Active Directory-domänen. Se till attAADDSCONTOSO.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
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
Använd
authconfig
för att instruera den virtuella datorn om AD Linux-integrering:sudo authconfig --enablesssd --enablesssdauth --update
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.
Öppna filen sshd_conf med ett redigeringsprogram:
sudo vi /etc/ssh/sshd_config
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.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.
Öppna sudoers-filen för redigering:
sudo visudo
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.
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 exempelcontosoadmin@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
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.
Kontrollera nu att gruppmedlemskapen löses korrekt:
id
Du 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
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.