Partager via


Réinitialiser un mot de passe de machine virtuelle Linux ou une clé SSH, corriger la configuration SSH et vérifier la cohérence des disques à l’aide de l’extension VMAccess

Important

Les machines virtuelles classiques seront mises hors service le 1er mars 2023.

Si vous utilisez des ressources IaaS provenant d’ASM, veuillez terminez votre migration avant le 1er mars 2023. Nous vous encourageons à effectuer le basculement plus tôt plus pour tirer parti des nombreuses fonctionnalités améliorées d’Azure Resource Manager.

Pour plus d’informations, consultez Migrez vos ressources IaaS vers Azure Resource Manager avant le 1er mars 2023.

Si vous ne pouvez pas vous connecter à une machine virtuelle Linux sur Azure en raison d'un mot de passe oublié, d'une clé SSH (Secure Shell) incorrecte ou d'un problème lié à la configuration SSH, utilisez l'extension VMAccessForLinux avec l'interface de ligne de commande Azure pour réinitialiser le mot de passe ou la clé SSH, corriger la configuration SSH et vérifier la cohérence des disques.

Notes

Azure a deux modèles de déploiement différents pour créer et utiliser des ressources : Resource Manager et classique. Cet article traite du modèle de déploiement classique. Pour la plupart des nouveaux déploiements, Microsoft recommande d’utiliser le modèle Resource Manager. Découvrez comment effectuer ces étapes à l’aide du modèle Resource Manager.

Grâce à l’interface de ligne de commande Azure, vous pouvez utiliser la commande azure vm extension set à partir de votre interface de ligne de commande (interpréteur de commandes (Bash), terminal, invite de commandes) pour accéder aux commandes associées. Exécutez azure help vm extension set pour utiliser l’extension détaillée.

L’interface de ligne de commande Microsoft Azure vous permet d’effectuer les tâches suivantes :

Prérequis

Vous devrez effectuer les opérations suivantes :

  • Vous devrez installer l’interface de ligne de commande Azure, et vous connecter à votre abonnement pour utiliser des ressources Azure associées à votre compte.
  • Définissez le mode approprié pour le modèle de déploiement Classic en tapant ce qui suit à l’invite de commandes :
        azure config mode asm
    
  • Définissez un nouveau mot de passe ou des clés SSH, si vous souhaitez réinitialiser l’un des deux. Vous n’avez pas besoin de ces derniers si vous souhaitez corriger la configuration SSH.

Réinitialisez le mot de passe

  1. Sur votre ordinateur local, créez un fichier appelé PrivateConf.json avec ces lignes. Remplacez myUserName et myP@ssW0rd par vos propres nom d’utilisateur et mot de passe, puis définissez votre propre date d’expiration.

        {
        "username":"myUserName",
        "password":"myP@ssW0rd",
        "expiration":"2020-01-01"
        }
    
  2. Exécutez cette commande, en remplaçant le nom de votre machine virtuelle par myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
    

Réinitialisation de la clé SSH

  1. Créez un fichier appelé PrivateConf.json avec ces éléments. Remplacez les valeurs myUserName et mySSHKey par vos propres informations.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. Exécutez cette commande, en remplaçant le nom de votre machine virtuelle par myVM.

     azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Réinitialisation du mot de passe et de la clé SSH

  1. Créez un fichier appelé PrivateConf.json avec ces éléments. Remplacez les valeurs myUserName, mySSHKey et myP@ssW0rd par vos propres informations.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey",
        "password":"myP@ssW0rd"
        }
    
  2. Exécutez cette commande, en remplaçant le nom de votre machine virtuelle par myVM.

        azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Création d’un nouveau compte utilisateur sudo

Si vous avez oublié votre nom utilisateur, utilisez VMAccess pour en créer un nouveau, avec autorité sudo. Le cas échéant, le nom d’utilisateur et le mot de passe existants ne sont pas modifiés.

Pour créer un nouvel utilisateur sudo avec accès par mot de passe, utilisez le script de Réinitialisation du mot de passe , puis spécifiez le nouveau nom d’utilisateur.

Pour créer un nouvel utilisateur sudo avec accès par clé SSH, utilisez le script de Réinitialisation de la clé SSH , puis spécifiez le nouveau nom d’utilisateur.

Vous pouvez également utiliser Réinitialisation du mot de passe et de la clé SSH pour créer un nouvel utilisateur avec accès par mot de passe et clé SSH.

Réinitialisation de la configuration SSH

Si la configuration SSH se trouve dans un état non souhaité, vous pouvez également perdre l’accès à la machine virtuelle. Pour redéfinir l’état par défaut de la configuration, utilisez l’extension VMAccess. Pour ce faire, réinitialisez la clé reset_ssh sur la valeur True. L’extension redémarre le serveur SSH, ouvre le port SSH sur votre machine virtuelle et rétablit la configuration SSH par défaut. Le compte d’utilisateur (nom, mot de passe ou clés SSH) ne sera pas modifié.

Notes

Le fichier de configuration SSH réinitialisé se trouve dans /etc/ssh/sshd_config.

  1. Créez un fichier appelé PrivateConf.json avec ces éléments.

        {
        "reset_ssh":"True"
        }
    
  2. Exécutez cette commande, en remplaçant le nom de votre machine virtuelle par myVM.

     	azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Supprimer un utilisateur

Si vous souhaitez supprimer un compte utilisateur sans vous connecter directement à la machine virtuelle, vous pouvez utiliser ce script.

  1. Créez un fichier appelé PrivateConf.json avec ces éléments, en remplaçant le nom d’utilisateur à supprimer par removeUserName.

        {
        "remove_user":"removeUserName"
        }
    
  2. Exécutez cette commande, en remplaçant le nom de votre machine virtuelle par myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Affichage de l’état de l’extension VMAccess

Pour afficher l’état de l’extension VMAccess, exécutez cette commande.

        azure vm extension get

Vérification de la cohérence des disques ajoutés

Pour exécuter la commande fsck sur tous les disques de votre machine virtuelle Linux, vous devez effectuer les opérations suivantes :

  1. Créez un fichier nommé PublicConf.json avec ces éléments. Vérifiez que le disque prend une valeur booléenne pour vérifier les disques attachés à votre machine virtuelle ou non.

        {   
        "check_disk": "true"
        }
    
  2. Exécutez cette commande, en remplaçant le nom de votre machine virtuelle par myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json 
    

Réparation de disques

Pour réparer les disques qui ne se montent pas ou dont la configuration de montage présente des erreurs, utilisez l’extension VMAccess pour réinitialiser la configuration de montage sur votre machine virtuelle Linux. Remplacez le nom de votre disque par myDisk.

  1. Créez un fichier nommé PublicConf.json avec ces éléments.

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. Exécutez cette commande, en remplaçant le nom de votre machine virtuelle par myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
    

Étapes suivantes

  • Si vous souhaitez utiliser des applets de commande Azure PowerShell ou des modèles Azure Resource Manager pour réinitialiser le mot de passe ou la clé SSH, corrigez la configuration SSH et vérifiez la cohérence des disques, consultez la documentation de l’extension VMAccess sur GitHub.
  • Vous pouvez également utiliser le portail Azure pour réinitialiser le mot de passe ou la clé SSH d’une machine virtuelle Linux déployée dans le modèle de déploiement Classic. Vous ne pouvez pas utiliser actuellement le portail dans ce but pour une machine virtuelle Linux déployée dans le modèle de déploiement Resource Manager.
  • Consultez la page À propos des extensions et des fonctionnalités des machines virtuelles pour plus d’informations sur l’utilisation des extensions de machine virtuelle pour les machines virtuelles Azure.