Partage via


Joindre une machine virtuelle Ubuntu Linux à un domaine managé Microsoft Entra Domain Services

Pour permettre aux utilisateurs de se connecter à des machines virtuelles dans Azure à l’aide d’un seul ensemble d’informations d’identification, vous pouvez joindre des machines virtuelles à un domaine managé Microsoft Entra Domain Services. Lorsque vous joignez une machine virtuelle à un domaine managé Des services de domaine, les comptes d’utilisateur et les informations d’identification du domaine peuvent être utilisés pour se connecter et gérer des serveurs. Les appartenances de groupe à partir du domaine managé sont également appliquées pour vous permettre de contrôler l’accès aux fichiers ou services sur la machine virtuelle.

Cet article vous montre comment joindre une machine virtuelle Linux Ubuntu à un domaine managé.

Conditions préalables

Pour suivre ce tutoriel, vous avez besoin des ressources et des privilèges suivants :

Créer et se connecter à une machine virtuelle Linux Ubuntu

Si vous disposez d’une machine virtuelle Linux Ubuntu existante dans Azure, connectez-vous à l’aide de SSH, puis passez à l’étape suivante pour commencer à configurer la machine virtuelle.

Si vous devez créer une machine virtuelle Linux Ubuntu ou si vous souhaitez créer une machine virtuelle de test à utiliser avec cet article, vous pouvez utiliser l’une des méthodes suivantes :

Lorsque vous créez la machine virtuelle, faites attention aux paramètres du réseau virtuel pour vous assurer que la machine virtuelle peut communiquer avec le domaine managé :

  • Déployez la machine virtuelle sur le même réseau virtuel ou sur un réseau appairé dans lequel vous avez activé Microsoft Entra Domain Services.
  • Déployez la machine virtuelle dans un sous-réseau différent de celui de votre domaine managé Microsoft Entra Domain Services.

Une fois la machine virtuelle déployée, suivez les étapes pour vous connecter à la machine virtuelle à l’aide de SSH.

Configurer le fichier hosts

Pour vous assurer que le nom d’hôte de la machine virtuelle est correctement configuré pour le domaine managé, modifiez l'/etc/hosts fichier et définissez le nom d’hôte :

sudo vi /etc/hosts

Dans le fichier hosts, mettez à jour l’adresse localhost. Dans l’exemple suivant :

  • aaddscontoso.com est le nom de domaine DNS de votre domaine managé.
  • ubuntu est le nom d’hôte de votre machine virtuelle Ubuntu que vous joignez au domaine managé.

Mettez à jour ces noms avec vos propres valeurs :

127.0.0.1 ubuntu.aaddscontoso.com ubuntu

Lorsque vous avez terminé, enregistrez et quittez le fichier des hôtes à l’aide de la commande :wq de l’éditeur.

Installer les packages requis

La machine virtuelle a besoin de packages supplémentaires pour joindre la machine virtuelle au domaine managé. Pour installer et configurer ces packages, mettez à jour et installez les outils de jonction de domaine à l’aide de apt-get

Pendant l’installation de Kerberos, le package krb5-user demande le nom de domaine TOUT EN MAJUSCULES. Par exemple, si le nom de votre domaine managé est aaddscontoso.com, entrez AADDSCONTOSO.COM en tant que domaine. L’installation écrit les sections [realm] et [domain_realm] dans /etc/krb5.conf fichier de configuration. Veillez à spécifier le domaine TOUT EN MAJUSCULES :

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

Configurer le protocole NTP (Network Time Protocol)

Pour que la communication de domaine fonctionne correctement, la date et l’heure de votre machine virtuelle Ubuntu doivent être synchronisées avec le domaine managé. Ajoutez le nom d’hôte NTP de votre domaine managé au fichier /etc/ntp.conf.

  1. Ouvrez le fichier ntp.conf avec un éditeur :

    sudo vi /etc/ntp.conf
    
  2. Dans le fichier ntp.conf, créez une ligne pour ajouter le nom DNS de votre domaine managé. Dans l’exemple suivant, on ajoute une entrée pour aaddscontoso.com. Utilisez votre propre nom DNS :

    server aaddscontoso.com
    

    Lorsque vous avez terminé, enregistrez et quittez le fichier ntp.conf à l’aide de la commande :wq de l’éditeur.

  3. Pour vous assurer que la machine virtuelle est synchronisée avec le domaine managé, les étapes suivantes sont nécessaires :

    • Arrêter le serveur NTP
    • Mettre à jour la date et l’heure à partir du domaine managé
    • Démarrer le service NTP

    Exécutez les commandes suivantes pour effectuer ces étapes. Utilisez votre propre nom DNS avec la commande ntpdate :

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

Joindre une machine virtuelle au domaine managé

Maintenant que les packages requis sont installés sur la machine virtuelle et que NTP sont configurés, joignez la machine virtuelle au domaine managé.

  1. Utilisez la commande realm discover pour découvrir le domaine managé. L’exemple suivant découvre le domaine AADDSCONTOSO.COM. Spécifiez votre propre nom de domaine managé dans ALL UPPERCASE :

    sudo realm discover AADDSCONTOSO.COM
    

    Si la commande realm discover ne trouve pas votre domaine managé, passez en revue les étapes de dépannage suivantes :

    • Assurez-vous que le domaine est accessible à partir de la machine virtuelle. Essayez ping aaddscontoso.com pour voir si une réponse positive est retournée.
    • Vérifiez que la machine virtuelle est déployée dans le réseau virtuel où le domaine managé est disponible ou dans un réseau virtuel appairé.
    • Vérifiez que les paramètres du serveur DNS pour le réseau virtuel ont été mis à jour pour pointer vers les contrôleurs de domaine du domaine managé.
  2. Initialisez Maintenant Kerberos à l’aide de la commande kinit. Spécifiez un utilisateur qui fait partie du domaine managé. En cas de besoin, ajoutez un compte d'utilisateur à un groupe dans Microsoft Entra ID.

    Là encore, le nom de domaine managé doit être entré dans ALL UPPERCASE. Dans l’exemple suivant, le compte nommé contosoadmin@aaddscontoso.com est utilisé pour initialiser Kerberos. Entrez votre propre compte d’utilisateur qui fait partie du domaine managé :

    sudo kinit -V contosoadmin@AADDSCONTOSO.COM
    
  3. Enfin, joignez la machine virtuelle au domaine managé à l’aide de la commande realm join. Utilisez le même compte d’utilisateur qui fait partie du domaine managé que vous avez spécifié dans la commande kinit précédente, par exemple contosoadmin@AADDSCONTOSO.COM:

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

La jonction de la machine virtuelle au domaine managé prend quelques instants. L’exemple de sortie suivant montre que la machine virtuelle est correctement jointe au domaine managé :

Successfully enrolled machine in realm

Si votre machine virtuelle ne parvient pas à terminer le processus de jonction de domaine, assurez-vous que le groupe de sécurité réseau de la machine virtuelle autorise le trafic Kerberos sortant sur le port TCP + UDP 464 vers le sous-réseau de réseau virtuel de votre domaine managé.

Si vous avez reçu l’erreur échec GSS non spécifié. Le code mineur peut fournir plus d’informations (serveur introuvable dans la base de données Kerberos), ouvrir le fichier /etc/krb5.conf et ajouter le code suivant dans [libdefaults] section et réessayer :

rdns=false

Mettre à jour la configuration SSSD

L’un des packages installés à l’étape précédente était destiné au démon System Security Services (SSSD). Lorsqu’un utilisateur tente de se connecter à une machine virtuelle à l’aide d’informations d’identification de domaine, SSSD transmet la demande à un fournisseur d’authentification. Dans ce scénario, SSSD utilise Les services de domaine pour authentifier la demande.

  1. Ouvrez le fichier sssd.conf avec un éditeur :

    sudo vi /etc/sssd/sssd.conf
    
  2. Commentez la ligne pour use_fully_qualified_names comme ceci :

    # use_fully_qualified_names = True
    

    Lorsque vous avez terminé, enregistrez et quittez le fichier sssd.conf à l’aide de la commande :wq de l’éditeur.

  3. Pour appliquer la modification, redémarrez le service SSSD :

    sudo systemctl restart sssd
    

Configurer les paramètres de compte d’utilisateur et de groupe

Une fois la machine virtuelle jointe au domaine managé et configurée pour l’authentification, il existe quelques options de configuration utilisateur à effectuer. Ces modifications de configuration incluent l’autorisation de l’authentification par mot de passe et la création automatique de répertoires d’accueil sur la machine virtuelle locale lorsque les utilisateurs du domaine se connectent pour la première fois.

Autoriser l’authentification par mot de passe pour SSH

Par défaut, les utilisateurs peuvent uniquement se connecter à une machine virtuelle à l’aide de l’authentification basée sur des clés publiques SSH. L’authentification par mot de passe échoue. Lorsque vous joignez la machine virtuelle à un domaine managé, ces comptes de domaine doivent utiliser l’authentification par mot de passe. Mettez à jour la configuration SSH pour autoriser l’authentification basée sur mot de passe comme suit.

Remarque

Les images de la place de marché Ubuntu ont généralement quelques options de configuration définies sous /etc/ssh/sshd_config.d, notamment PasswordAuthentication dans le fichier 50-cloud-init.conf. Veillez donc à mettre à jour ce fichier pour éviter qu'il n'écrase celui qui est défini avec les étapes ci-dessous.

  1. Ouvrez le fichier sshd_conf avec un éditeur :

    sudo vi /etc/ssh/sshd_config
    
  2. Mettez à jour la ligne pour PasswordAuthentication sur yes :

    PasswordAuthentication yes
    

    Lorsque vous avez terminé, enregistrez et quittez le fichier sshd_conf à l’aide de la commande :wq de l’éditeur.

  3. Pour appliquer les modifications et permettre aux utilisateurs de se connecter à l’aide d’un mot de passe, redémarrez le service SSH :

    sudo systemctl restart ssh
    

Configurer la création automatique du répertoire d’accueil

Pour activer la création automatique du répertoire de base lorsqu’un utilisateur se connecte pour la première fois, procédez comme suit :

  1. Ouvrez le fichier /etc/pam.d/common-session dans un éditeur :

    sudo vi /etc/pam.d/common-session
    
  2. Ajoutez la ligne suivante dans ce fichier sous la ligne session optional pam_sss.so:

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

    Lorsque vous avez terminé, enregistrez et quittez le fichier de session commune à l’aide de la commande de l’éditeur.

Accorder les privilèges sudo au groupe « Administrateurs du contrôleur de domaine AAD »

Pour accorder des privilèges d’administration aux membres du groupe Administrateurs AAD DC sur la machine virtuelle Ubuntu, ajoutez une entrée au fichier /etc/sudoers. Une fois ajoutés, les membres du groupe Administrateurs AAD DC peuvent utiliser la commande sudo sur la machine virtuelle Ubuntu.

  1. Ouvrez le fichier sudoers pour modification :

    sudo visudo
    
  2. Ajoutez l’entrée suivante à la fin de fichier /etc/sudoers :

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

    Lorsque vous avez terminé, enregistrez et quittez l’éditeur à l’aide de la commande Ctrl-X.

Se connecter à la machine virtuelle à l’aide d’un compte de domaine

Pour vérifier que la machine virtuelle a été correctement jointe au domaine managé, démarrez une nouvelle connexion SSH à l’aide d’un compte d’utilisateur de domaine. Vérifiez qu’un répertoire de base a été créé et que l’appartenance au groupe à partir du domaine est appliquée.

  1. Créez une connexion SSH à partir de votre console. Utilisez un compte de domaine qui appartient au domaine managé à l’aide de la commande ssh -l, telle que contosoadmin@aaddscontoso.com, puis entrez l’adresse de votre machine virtuelle, telle que ubuntu.aaddscontoso.com. Si vous utilisez Azure Cloud Shell, utilisez l’adresse IP publique de la machine virtuelle plutôt que le nom DNS interne.

    sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
    
  2. Une fois que vous avez correctement connecté à la machine virtuelle, vérifiez que le répertoire de base a été initialisé correctement :

    sudo pwd
    

    Vous devez être dans le répertoire /home avec votre propre répertoire qui correspond au compte d’utilisateur.

  3. Vérifiez maintenant que les appartenances aux groupes sont correctement résolues :

    sudo id
    

    Vous devriez voir vos appartenances à des groupes à partir du domaine géré.

  4. Si vous vous êtes connecté à la machine virtuelle en tant que membre du groupe administrateurs AAD DC , vérifiez que vous pouvez utiliser correctement la commande :

    sudo apt-get update
    

Étapes suivantes

Si vous rencontrez des problèmes lors de la connexion de la machine virtuelle au domaine managé ou de la connexion avec un compte de domaine, consultez Résolution des problèmes de jonction de domaine.