Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : ✔️ Machines virtuelles Linux
Cet article fournit des solutions à un problème dans lequel la connexion à une machine virtuelle Linux via Secure Shell (SSH) échoue, car le répertoire /var/empty/sshd dans RHEL, le répertoire /var/lib/empty dans SUSE, ou le répertoire /var/run/sshd dans Ubuntu, n’existe pas, ou il n’appartient pas à l’utilisateur racine, ou il est accessible en écriture de groupe ou accessible en écriture mondiale.
Important
Nouveau! Essayez l’assistance de machine virtuelle pour résoudre les principaux problèmes. Nous vous recommandons d’exécuter l’assistance de machine virtuelle pour Windows ou l’assistance de machine virtuelle pour Linux. Ces outils de diagnostic basés sur des scripts vous aident à identifier les problèmes courants qui affectent l’agent invité de machine virtuelle Azure et l’intégrité globale des machines virtuelles.
Si vous rencontrez des problèmes de performances sur des machines virtuelles, exécutez d’abord ces outils avant de contacter le support Microsoft.
Symptômes
Lorsque vous vous connectez à une machine virtuelle Linux via SSH, la connexion échoue. Vous pouvez recevoir le message d’erreur suivant sur le répertoire concerné, en fonction de votre distribution Linux.
sudo tail /var/log/messages
sshd: /var/empty/sshd must be owned by root and not group or world-writable.
Cause
Ce problème peut se produire si le répertoire affecté n’est pas détenu par l’utilisateur racine, ou s’il est accessible en écriture de groupe ou accessible en écriture mondiale.
Pour résoudre ce problème, utilisez l’une des solutions suivantes :
- Résolution 1 : Réparer la machine virtuelle en ligne.
- Résolution 2 : Réparer la machine virtuelle hors connexion.
Résolution 1 : Réparer la machine virtuelle en ligne
Voici deux méthodes pour réparer la machine virtuelle hors connexion :
Utiliser la console série
Connectez-vous à la console série de la machine virtuelle à partir de Portail Azure.
Connectez-vous à la machine virtuelle à l’aide d’un compte d’administration local et de ses informations d’identification ou mot de passe correspondants.
Exécutez les commandes suivantes pour résoudre le problème d’autorisation et de propriété :
Utiliser l’extension « Exécuter la commande »
Remarque
Cette méthode s’appuie sur l’agent de machine virtuelle Linux Azure (waagent). Par conséquent, assurez-vous que l’agent est installé dans la machine virtuelle et que son service est en cours d’exécution.
Dans le Portail Azure, ouvrez la fenêtre Propriétés de la machine virtuelle pour vérifier l’état de l’agent. Si l’agent est activé et dispose de l’état Prêt , procédez comme suit pour modifier l’autorisation :
Accédez au Portail Azure, recherchez les paramètres de votre machine virtuelle, puis sélectionnez Exécuter la commande sous Opérations.
Exécutez le script shell suivant en sélectionnant RunShellScript>Run :
- Une fois l’exécution du script terminée, la fenêtre de la console de sortie affiche un message « Activer réussi ».
Si vous pouvez vous connecter à la machine virtuelle via SSH et que vous souhaitez analyser les détails de l’exécution du script d’exécution de commande, examinez le fichier handler.log dans le répertoire /var/log/azure/run-command .
Résolution 2 : Réparer la machine virtuelle hors connexion
Remarque
- Utilisez cette résolution si l’accès à la console série de la machine virtuelle n’est pas disponible et que le waagent n’est pas prêt.
- Dans Ubuntu, le répertoire /var/run/sshd s’exécute en mémoire. Le redémarrage de la machine virtuelle résout également le problème. Par conséquent, la résolution des problèmes hors connexion dans les machines virtuelles Ubuntu n’est pas nécessaire.
Voici deux méthodes pour réparer la machine virtuelle hors connexion :
Utiliser az vm repair
La az vm repairpartie , partie de l’extension de réparation de machine virtuelle pour Azure CLI, est décrite dans Réparer une machine virtuelle Linux à l’aide des commandes de réparation de machine virtuelle Azure.
Procédez comme suit pour automatiser le processus hors connexion manuel :
Remarque
Dans les étapes suivantes, remplacez $RGNAME, , $VMNAME$USERNAME, , $PASSWORDet repairdiskcopy les valeurs en conséquence.
Utilisez la commande az vm repair create pour créer une machine virtuelle de réparation. La machine virtuelle de réparation a une copie du disque du système d’exploitation pour la machine virtuelle problématique attachée.
az vm repair create --verbose -g $RGNAME -n $VMNAME --repair-username $USERNAME --repair-password $PASSWORD --copy-disk-name repairdiskcopyConnectez-vous à la machine virtuelle de réparation. Montez et chroot sur le système de fichiers de la copie jointe du disque du système d’exploitation. Suivez les instructions détaillées de chroot.
Exécutez les commandes suivantes pour résoudre les problèmes d’autorisation et de propriété :
Une fois les modifications appliquées, exécutez la commande suivante
az vm repair restorepour effectuer un échange automatique de disque de système d’exploitation avec la machine virtuelle d’origine.az vm repair restore --verbose -g $RGNAME -n $VMNAME
Utiliser la méthode manuelle
Si la console série et az vm repair l’approche ne s’appliquent pas à vous ou échouent, la réparation doit être effectuée manuellement. Suivez les étapes ci-dessous pour attacher manuellement le disque du système d’exploitation à une machine virtuelle de récupération et échanger le disque du système d’exploitation vers la machine virtuelle d’origine :
- Attachez le disque du système d’exploitation à une machine virtuelle de récupération à l’aide de la Portail Azure.
- Attachez le disque du système d’exploitation à une machine virtuelle de récupération à l’aide d’Azure CLI.
Une fois le disque du système d’exploitation correctement connecté à la machine virtuelle de récupération, suivez les instructions chroot détaillées pour monter et chrooter les systèmes de fichiers du disque du système d’exploitation connecté. Ensuite, suivez l’étape 3 dans la section Utiliser az vm repair pour résoudre les problèmes d’autorisation et de propriété.
Contactez-nous pour obtenir de l’aide
Si vous avez des questions, vous pouvez demander le support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.