Partager via


Guide pratique pour réinitialiser un mot de passe Linux local sur des machines virtuelles Azure

S’applique à : ✔️ Machines virtuelles Linux

Cet article présente trois méthodes de réinitialisation de mots de passe Linux locaux sur les machines virtuelles. Si le compte d’utilisateur a expiré ou si vous souhaitez créer un compte, utilisez les méthodes suivantes. Elles vous permettront de créer un compte d’administrateur local et de retrouver l’accès à la machine virtuelle.

Réinitialiser le mot de passe à l’aide de l’agent Linux Azure

Vous pouvez réinitialiser le mot de passe sans attacher le disque du système d’exploitation à une autre machine virtuelle. Cette méthode nécessite que l’Agent Linux Azure soit installé sur la machine virtuelle affectée.

  1. Assurez-vous que le service de l’agent Linux Azure (waagent) s’exécute sur la machine virtuelle affectée et est dans un état prêt dans le portail Azure.

  2. Configurez les variables d’environnement, puis utilisez Azure CLI ou Azure Cloud Shell pour réinitialiser le mot de passe :

    AZ_RESOURCE_GROUP="YourResourceGroupName"
    AZ_VM_NAME="VMname"
    AZ_ADMIN_USER="adminName"
    AZ_MSADMIN_PASS="newPassword"
    
    az vm user update -u $AZ_ADMIN_USER -p $AZ_MSADMIN_PASS -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME
    
  3. Essayez d’accéder à la machine virtuelle.

Pour mettre à jour la clé SSH, consultez l’article Gérer les utilisateurs administratifs, SSH à l’aide de l’extension VMAccess avec Azure CLI.

Vous pouvez également réinitialiser le mot de passe ou la clé SSH à l’aide de la fonctionnalité Réinitialiser le mot de passe disponible dans le portail Azure.

Pour plus d’informations, consultez Extension vmaccess pour Linux.

Réinitialiser le mot de passe à l’aide de la console série en mode mono-utilisateur

Vous pouvez utiliser la console série pour réinitialiser le compte admin user ou root via le mode mono-utilisateur pour l’accès aux machines virtuelles.

  1. Utilisez le mode mono-utilisateur pour réinitialiser ou ajouter un mot de passe.

  2. Vérifiez que l’authentification par mot de passe est activée sur le serveur OpenSSH si vous essayez de vous connecter au serveur à l’aide de l’authentification SSH et par mot de passe.

    1. Vérifiez si la valeur PasswordAuthentitcation est définie sur yes ou no dans /etc/ssh/sshd_config en exécutant la commande suivante :

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Si la valeur PasswordAuthentication est définie sur no, utilisez un éditeur de texte tel que vi ou nano pour remplacer la valeur par yes.

  3. Créez un mot de passe pour le compte admin user ou root en exécutant la commande passwd :

    passwd <admin_user>
    
  4. Vérifiez si SElinux est en mode enforcing dans /etc/sysconfig/selinux en exécutant la commande suivante :

    cat /etc/sysconfig/selinux
    
  5. Si SElinux est en mode enforcing, assurez-vous que SElinux autorise les modifications apportées au fichier avec la commande passwd. Une fois le mot de passe modifié, vous pouvez exécuter la commande suivante pour réétiqueter le système de fichiers afin de faciliter le chargement de la modification.

    touch /.autorelabel
    
  6. Redémarrez la machine virtuelle en exécutant la commande suivante :

    /usr/sbin/reboot -f
    
  7. Essayez d’accéder à la machine virtuelle.

Réinitialiser le mot de passe à l’aide d’une machine virtuelle de récupération

Cette méthode a été testée à l’aide des distributions et versions Linux prises en charge.

Note

Si vous rencontrez des problèmes qui affectent une appliance réseau virtuelle Azure, cette méthode ne s’applique pas à votre situation. À la place, vous devez contacter le fournisseur de l’appliance réseau virtuelle pour obtenir des instructions sur la façon de réinitialiser le mot de passe en toute sécurité.

Vous pouvez exécuter les commandes de réparation de machine virtuelle pour créer une machine virtuelle de réparation à laquelle est connectée une copie du disque de système d’exploitation de la machine virtuelle affectée. Ensuite, montez la copie des systèmes de fichiers du système d’exploitation dans la machine virtuelle de réparation à l’aide de l’environnement chroot.

Note

Vous pouvez également créer manuellement une machine virtuelle de secours à l’aide du portail Azure. Pour plus d’informations, consultez l’article Résoudre les problèmes d’une machine virtuelle Linux en attachant le disque du système d’exploitation à une machine virtuelle de récupération à l’aide du portail Azure.

  1. Exécutez les commandes az vm repair create suivantes pour créer une copie du disque du système d’exploitation. Ensuite, le disque est automatiquement attaché à une machine virtuelle de récupération.

    AZ_RESOURCE_GROUP="YourResourceGroupName"
    AZ_VM_NAME="VMname"
    AZ_ADMIN_USER="userName"
    AZ_MSADMIN_PASS="newPassword"
    
    az vm repair create -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --repair-username $AZ_ADMIN_USER --repair-password "$AZ_MSADMIN_PASS" --verbose
    
  2. Connectez-vous à la machine virtuelle de réparation et résolvez les problèmes liés à l’environnement chroot.

  3. Vérifiez que l’authentification par mot de passe est activée sur le serveur OpenSSH si vous essayez de vous connecter au serveur à l’aide de l’authentification SSH et par mot de passe.

    1. Vérifiez si la valeur PasswordAuthentitcation est définie sur yes ou no dans /etc/ssh/sshd_config en exécutant la commande suivante :

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Si la valeur PasswordAuthentication est définie sur no, utilisez un éditeur de texte tel que vi ou nano pour remplacer la valeur par yes.

  4. Créez un mot de passe pour le compte admin user ou root en exécutant la commande passwd :

    passwd <admin_user>
    
  5. Vérifiez si SElinux est en mode enforcing dans /etc/sysconfig/selinux en exécutant la commande suivante :

    cat /etc/sysconfig/selinux
    
  6. Si SElinux est en mode enforcing, assurez-vous que SElinux autorise les modifications apportées au fichier avec la commande passwd. Une fois le mot de passe modifié, vous pouvez exécuter la commande suivante pour réétiqueter le système de fichiers afin de faciliter le chargement de la modification.

    touch /.autorelabel
    
  7. Quittez l’environnement chroot.

  8. Remontez le disque du système d’exploitation sur la machine virtuelle affectée en permutant les disques du système d’exploitation :

    az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
    
  9. Essayez d’accéder à la machine virtuelle.

Prochaines étapes

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.