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

S’applique à : ✔️ Machines virtuelles Linux

Cet article fournit trois méthodes pour réinitialiser les mots de passe de machine virtuelle Linux locale. Si le compte d’utilisateur a expiré ou si vous souhaitez créer un compte, vous pouvez utiliser les méthodes suivantes pour créer un compte d’administrateur local et récupérer 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 exige que l’agent Linux Azure soit installé sur la machine virtuelle affectée.

  1. Assurez-vous que le service Azure Linux Agent (waagent) s’exécute sur la machine virtuelle affectée et qu’il est prêt dans le Portail Azure.

  2. Configurez les variables d’environnement et utilisez Azure CLI ou Azure Cloud Shell pour effectuer la réinitialisation du 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 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 dans le Portail Azure.

Pour plus d’informations, consultez l’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 ou root le compte via le admin user mode mono-utilisateur pour l’accès aux machines virtuelles.

  1. Suivez le processus en 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 du mot de passe.

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

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

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

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

    cat /etc/sysconfig/selinux
    
  5. S’il SElinux est en enforcing mode, assurez-vous que SElinux les modifications apportées au fichier avec la passwd commande sont activées. 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éparation

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 virtuelle réseau Azure, cette méthode ne s’applique pas à votre situation. Au lieu de cela, vous devez contacter le fournisseur de l’appliance virtuelle réseau pour obtenir des instructions sur la façon d’effectuer une réinitialisation de 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 qui a une copie du disque de système d’exploitation de la machine virtuelle affectée attachée. Ensuite, montez la copie des systèmes de fichiers du système d’exploitation sur la machine virtuelle de réparation via l’environnement chroot.

Note

Vous pouvez également créer une machine virtuelle de secours manuellement à l’aide de l’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 attaché automatiquement à 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 du mot de passe.

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

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

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

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

    cat /etc/sysconfig/selinux
    
  6. S’il SElinux est en enforcing mode, assurez-vous que SElinux les modifications apportées au fichier avec la passwd commande sont activées. 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. Remonter le disque du système d’exploitation à la machine virtuelle affectée en échangeant le disque du système d’exploitation avec la commande suivante :

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

Étapes suivantes

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.