Condividi tramite


Aggiungere una macchina virtuale Ubuntu Linux a un dominio gestito di Microsoft Entra Domain Services

Per consentire agli utenti di accedere alle macchine virtuali (VM) in Azure usando un singolo set di credenziali, è possibile aggiungere macchine virtuali a un dominio gestito di Microsoft Entra Domain Services. Quando si aggiunge una macchina virtuale a un dominio gestito di Servizi di dominio, è possibile usare account utente e credenziali dal dominio per accedere e gestire i server. Le appartenenze ai gruppi del dominio gestito vengono applicate anche per consentire di controllare l'accesso ai file o ai servizi nella macchina virtuale.

Questo articolo illustra come aggiungere una macchina virtuale Ubuntu Linux a un dominio gestito.

Prerequisiti

Per completare questa esercitazione, sono necessari i privilegi e le risorse seguenti:

Creare e connettersi a una macchina virtuale Ubuntu Linux

Se si dispone di una macchina virtuale Ubuntu Linux esistente in Azure, connettersi usando SSH, quindi passare al passaggio successivo per iniziare a configurare la macchina virtuale.

Se è necessario creare una macchina virtuale Ubuntu Linux o creare una macchina virtuale di test da usare con questo articolo, è possibile usare uno dei metodi seguenti:

Quando si crea la macchina virtuale, prestare attenzione alle impostazioni della rete virtuale per assicurarsi che la macchina virtuale possa comunicare con il dominio gestito:

  • Distribuire la VM (macchina virtuale) nella stessa rete virtuale o in una rete virtuale con peering in cui è stato abilitato Microsoft Entra Domain Services.
  • Distribuire la macchina virtuale in una subnet diversa rispetto al dominio gestito di Microsoft Entra Domain Services.

Dopo aver distribuito la macchina virtuale, seguire la procedura per connettersi alla macchina virtuale tramite SSH.

Configurare il file hosts

Per assicurarsi che il nome host della macchina virtuale sia configurato correttamente per il dominio gestito, modificare il file /etc/hosts /etc/hosts e impostare il nome host:

sudo vi /etc/hosts

Nel file hosts, aggiornare l'indirizzo localhost. Nell'esempio seguente:

  • aaddscontoso.com è il nome di dominio DNS del dominio gestito.
  • ubuntu è il nome dell'host della macchina virtuale Ubuntu che stai aggiungendo al dominio gestito.

Aggiornare questi nomi con i propri valori:

127.0.0.1 ubuntu.aaddscontoso.com ubuntu

Al termine, salvare e uscire dall'host file usando il comando :wq dell'editor.

Installare i pacchetti necessari

La macchina virtuale richiede alcuni pacchetti aggiuntivi per aggiungere la macchina virtuale al dominio gestito. Per installare e configurare questi pacchetti, aggiornare e installare gli strumenti di aggiunta a un dominio usando apt-get

Durante l'installazione di Kerberos, il pacchetto krb5-user richiede il nome del dominio in MAIUSCOLO. Ad esempio, se il nome del dominio gestito è aaddscontoso.com, immettere AADDSCONTOSO.COM come realm. L'installazione scrive le sezioni [realm] e [domain_realm] nel file di configurazione /etc/krb5.conf. Assicurati di specificare l'ambito in TUTTE MAIUSCOLE:

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

Configurare il protocollo NTP (Network Time Protocol)

Per il corretto funzionamento della comunicazione del dominio, la data e l'ora della macchina virtuale Ubuntu devono essere sincronizzate con il dominio gestito. Aggiungere il nome host NTP del dominio gestito al file /etc/ntp.conf.

  1. Aprire il file ntp.conf con un editor:

    sudo vi /etc/ntp.conf
    
  2. Nel file ntp.conf creare una riga per aggiungere il nome DNS del dominio gestito. Nell'esempio seguente viene aggiunta una voce per aaddscontoso.com. Usare il proprio nome DNS:

    server aaddscontoso.com
    

    Al termine, salvare e uscire dal file ntp.conf usando il comando :wq dell'editor.

  3. Per assicurarsi che la macchina virtuale sia sincronizzata con il dominio gestito, sono necessari i passaggi seguenti:

    • Fermare il server NTP
    • Aggiornare la data e l'ora dal dominio gestito
    • Avviare il servizio NTP

    Eseguire i comandi seguenti per completare questi passaggi. Usare il proprio nome DNS con il comando ntpdate:

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

Aggiungere una macchina virtuale al dominio gestito

Ora che i pacchetti necessari sono installati nella macchina virtuale e NTP è configurato, aggiungere la macchina virtuale al dominio gestito.

  1. Usare il comando realm discover per individuare il dominio gestito. Nell'esempio seguente viene scoperto il dominio AADDSCONTOSO.COM. Specificare il proprio nome di dominio gestito in ALL UPPERCASE:

    sudo realm discover AADDSCONTOSO.COM
    

    Se il comando realm discover non riesce a trovare il dominio gestito, esaminare i passaggi seguenti per la risoluzione dei problemi:

    • Assicurarsi che il dominio sia raggiungibile dalla macchina virtuale. Provare ping aaddscontoso.com per verificare se viene restituita una risposta positiva.
    • Verificare che la macchina virtuale sia distribuita nella stessa rete virtuale o in una rete virtuale con peering in cui è disponibile il dominio gestito.
    • Verificare che le impostazioni del server DNS per la rete virtuale siano state aggiornate in modo che puntino ai controller di dominio del dominio gestito.
  2. Inizializza ora Kerberos usando il comando kinit. Specificare un utente che fa parte del dominio gestito. Se necessario, aggiungere un account utente a un gruppo in Microsoft Entra ID.

    Di nuovo, il nome di dominio gestito deve essere immesso in maiuscolo. Nell'esempio seguente viene usato l'account denominato contosoadmin@aaddscontoso.com per inizializzare Kerberos. Inserisci il tuo account utente personale che fa parte del dominio gestito.

    sudo kinit -V contosoadmin@AADDSCONTOSO.COM
    
  3. Infine, aggiungere la macchina virtuale al dominio gestito usando il comando realm join. Usare lo stesso account utente che fa parte del dominio gestito specificato nel comando kinit precedente, ad esempio contosoadmin@AADDSCONTOSO.COM:

    sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
    

L'aggiunta della macchina virtuale al dominio gestito richiede alcuni istanti. L'output di esempio seguente mostra che la macchina virtuale è stata aggiunta correttamente al dominio gestito:

Successfully enrolled machine in realm

Se la macchina virtuale non riesce a completare con successo il processo di unione al dominio, assicuratevi che il gruppo di sicurezza di rete della VM consenta il traffico Kerberos in uscita sulla porta TCP + UDP 464 verso la subnet di rete virtuale per il vostro dominio gestito.

Se è stato ricevuto l'errore Errore GSS non specificato. Il codice secondario può fornire altre informazioni (server non trovato nel database Kerberos), aprire il file /etc/krb5.conf e aggiungere il codice seguente nella sezione [libdefaults] e riprovare:

rdns=false

Aggiornare la configurazione di SSSD

Uno dei pacchetti installati in un passaggio precedente era per il daemon dei servizi di sicurezza di sistema (SSSD). Quando un utente tenta di accedere a una macchina virtuale usando le credenziali di dominio, SSSD inoltra la richiesta a un provider di autenticazione. In questo scenario, SSSD usa Servizi di dominio per autenticare la richiesta.

  1. Aprire il file sssd.conf con un editor:

    sudo vi /etc/sssd/sssd.conf
    
  2. Impostare come commento la riga per use_fully_qualified_names come indicato di seguito:

    # use_fully_qualified_names = True
    

    Al termine, salvare il file sssd.conf e uscire utilizzando il comando dell'editor.

  3. Per applicare la modifica, riavviare il servizio SSSD:

    sudo systemctl restart sssd
    

Configurare le impostazioni dell'account utente e del gruppo

Con la macchina virtuale aggiunta al dominio gestito e configurata per l'autenticazione, sono disponibili alcune opzioni di configurazione utente da completare. Queste modifiche alla configurazione includono l'autenticazione basata su password e la creazione automatica delle home directory nella macchina virtuale locale quando gli utenti di dominio accedono per la prima volta.

Consenti autenticazione password per SSH

Per impostazione predefinita, gli utenti possono accedere solo a una macchina virtuale usando l'autenticazione basata su chiave pubblica SSH. L'autenticazione basata su password ha esito negativo. Quando si aggiunge la macchina virtuale a un dominio gestito, questi account di dominio devono usare l'autenticazione basata su password. Aggiornare la configurazione SSH per consentire l'autenticazione basata su password come indicato di seguito.

Nota

Le immagini del marketplace Ubuntu in genere avranno alcune opzioni di configurazione impostate in /etc/ssh/sshd_config.d, tra cui PasswordAuthentication nel file 50-cloud-init.conf, quindi assicurarsi di aggiornare anche il file per evitare di sovrascrivere quello impostato con la procedura seguente.

  1. Aprire il file sshd_conf con un editor:

    sudo vi /etc/ssh/sshd_config
    
  2. Aggiornare la riga per PasswordAuthentication in :

    PasswordAuthentication yes
    

    Al termine, salvare e uscire dal file sshd_conf usando il comando :wq dell'editor.

  3. Per applicare le modifiche e consentire agli utenti di accedere usando una password, riavviare il servizio SSH:

    sudo systemctl restart ssh
    

Configurare la creazione automatica della home directory

Per abilitare la creazione automatica della home directory quando un utente accede per la prima volta, completare la procedura seguente:

  1. Aprire il file /etc/pam.d/common-session in un editor:

    sudo vi /etc/pam.d/common-session
    
  2. Aggiungere la riga seguente in questo file sotto la riga session optional pam_sss.so:

    session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
    

    Al termine, salvare ed uscire dal file sessione comune usando il comando :wq dell'editor.

Concedere al gruppo "AAD DC Administrators" i privilegi sudo

Per concedere i privilegi amministrativi del gruppo sulla macchina virtuale Ubuntu ai membri del gruppo AAD DC Administrators, aggiungi una voce al file /etc/sudoers. Dopo l'aggiunta, i membri del gruppo amministratori di AAD DC possono usare il comando sudo nella macchina virtuale Ubuntu.

  1. Aprire il file sudoers per la modifica:

    sudo visudo
    
  2. Aggiungere la seguente voce alla fine del file /etc/sudoers

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

    Al termine, salvare e uscire dall'editor usando il comando Ctrl-X.

Accedere alla macchina virtuale usando un account di dominio

Per verificare che la macchina virtuale sia stata aggiunta correttamente al dominio gestito, avviare una nuova connessione SSH usando un account utente di dominio. Verificare che sia stata creata una home directory e che venga applicata l'appartenenza a un gruppo dal dominio.

  1. Creare una nuova connessione SSH dalla console. Usare un account di dominio appartenente al dominio gestito usando il comando ssh -l, ad esempio contosoadmin@aaddscontoso.com e quindi immettere l'indirizzo della macchina virtuale, ad esempio ubuntu.aaddscontoso.com. Se si usa Azure Cloud Shell, usare l'indirizzo IP pubblico della macchina virtuale anziché il nome DNS interno.

    sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
    
  2. Dopo aver eseguito la connessione alla macchina virtuale, verificare che la home directory sia stata inizializzata correttamente:

    sudo pwd
    

    Si dovrebbe trovarsi nella directory /home con la propria directory corrispondente all'account utente.

  3. Verificare ora che le appartenenze ai gruppi siano state risolte correttamente:

    sudo id
    

    Dovresti poter vedere le appartenze ai gruppi dal dominio gestito.

  4. Se hai effettuato l'accesso alla macchina virtuale come membro del gruppo AAD DC Administrators di , verifica di poter utilizzare correttamente il comando :

    sudo apt-get update
    

Passaggi successivi

Se si verificano problemi durante la connessione della macchina virtuale al dominio gestito o l'accesso con un account di dominio, vedere Risoluzione dei problemi di aggiunta al dominio.