Résoudre les erreurs d’authentification lorsque vous utilisez le protocole RDP pour vous connecter à une machine virtuelle Azure.

Cet article peut vous aider à résoudre les erreurs d’authentification qui se produisent lorsque vous utilisez une connexion RDP (Remote Desktop Protocol) pour vous connecter à une machine virtuelle (VM) Azure.

Remarque

Cet article vous a-t-il été utile ? Votre avis est important à nos yeux. Utilisez le bouton Commentaires sur cette page pour nous faire savoir dans quelle mesure cet article vous a été utile ou comment nous pouvons l’améliorer.

Symptômes

Vous faites une capture d’écran d’une machine virtuelle Azure qui affiche l’écran de bienvenue et indique que le système d’exploitation est en cours d’exécution. Toutefois, lorsque vous essayez de vous connecter à Microsoft Exchange Online à l’aide de Remote Windows PowerShell, le message d’erreur suivant apparaît :

  • Une erreur d’authentification s’est produite. L’autorité de sécurité locale ne peut pas être contactée.
  • L’ordinateur distant auquel vous essayez de vous connecter nécessite une authentification au niveau du réseau (NLA), mais votre contrôleur de domaine Windows ne peut pas être contacté pour effectuer la NLA. Si vous êtes administrateur sur l’ordinateur distant, vous pouvez désactiver NLA à l’aide des options de l’onglet Distant de la boîte de dialogue Propriétés système.
  • Cet ordinateur ne peut pas se connecter à l’ordinateur distant. Réessayez de vous connecter. Si le problème persiste, contactez le propriétaire de l’ordinateur distant ou votre administrateur réseau.

Cause

Il existe plusieurs raisons pour lesquelles NLA peut bloquer l’accès RDP à une VM :

  • La VM ne peut pas communiquer avec le contrôleur de domaine (DC). Ce problème peut empêcher une session RDP d’accéder à une machine virtuelle à l’aide d’informations d’identification de domaine. Cependant, vous pourrez toujours vous connecter en utilisant les informations d’identification de l’administrateur local. Ce problème peut se produire dans les situations suivantes :
    • Le canal de sécurité Active Directory entre cette machine virtuelle et le contrôleur de domaine est rompu.
    • La VM a une ancienne copie du mot de passe du compte et le DC a une copie plus récente.
    • Le contrôleur de domaine auquel cette machine virtuelle se connecte n’est pas sain.
  • Le niveau de chiffrement de la machine virtuelle est supérieur à celui utilisé par l’ordinateur client.
  • Les protocoles TLS 1.0, 1.1 ou 1.2 (serveur) sont désactivés sur la machine virtuelle. La machine virtuelle a été configurée pour désactiver la connexion à l’aide d’informations d’identification de domaine, et l’autorité de sécurité locale (LSA) n’est pas configurée correctement.
  • La machine virtuelle a été configurée pour accepter uniquement les connexions d’algorithmes conformes à la norme FIPS (Federal Information Processing Standard). Cela se fait généralement à l’aide de la stratégie Active Directory. Il s’agit d’une configuration rare, mais FIPS ne peut être appliqué que pour les connexions Bureau à distance.

Avant de résoudre le problème

Créer un instantané de sauvegarde

Pour créer un instantané de sauvegarde, procédez de la manière décrite dans Effectuer la capture instantanée d’un disque.

Se connecter à la machine virtuelle à distance

Pour vous connecter à la machine virtuelle à distance, appliquez l’une des méthodes décrites dans Comment utiliser les outils à distance pour résoudre les problèmes de machine virtuelle Azure.

Service client des polices de groupe

S’il s’agit d’une machine virtuelle jointe à un domaine, arrêtez d’abord le service client de stratégie de groupe pour empêcher toute stratégie Active Directory d’écraser les modifications. Pour ce faire, exécutez la commande suivante :

REM Disable the member server to retrieve the latest GPO from the domain upon start
REG add "HKLM\SYSTEM\CurrentControlSet\Services\gpsvc" /v Start /t REG_DWORD /d 4 /f

Une fois le problème résolu, restaurez la capacité de cette machine virtuelle à contacter le domaine pour récupérer le dernier GPO du domaine. Pour ce faire, exécutez les commandes suivantes :

sc config gpsvc start= auto
sc start gpsvc

gpupdate /force

Si la modification est annulée, cela signifie qu’une stratégie Active Directory est l’origine du problème.

Solution de contournement

Comme solution de contournement pour vous connecter à la machine virtuelle et résoudre le problème, vous pouvez temporairement désactiver NLA. Pour désactiver NLA, veuillez utiliser les commandes ci-dessous ou utilisez le scriptDisableNLA dans Exécuter la commande.

REM Disable the Network Level Authentication
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0

Ensuite, redémarrez la machine virtuelle et passez à la section de dépannage.

Une fois que vous avez résolu le problème, réactivez NLA en exécutant les commandes suivantes, puis en redémarrant la VM :

REG add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds /t REG_DWORD /d 0 /f
REG add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f

Résolution des problèmes

  1. Dépanner les machines virtuelles jointes à un domaine.
  2. Dépanner les VM autonomes.

Dépanner les machines virtuelles jointes à un domaine

Pour résoudre ce problème :

  1. Vérifiez si la VM peut se connecter à un DC.
  2. Vérifier l’état du contrôleur de domaine.

Remarque

Pour tester l’intégrité du contrôleur de domaine, vous pouvez utiliser une autre machine virtuelle qui se trouve dans le même VNET, sous-réseau et utilise le même serveur d’ouverture de session.

Connectez-vous à la VM qui rencontre le problème en utilisant la console série, le CMD distant ou le PowerShell distant, conformément aux étapes de la section Se connecter à la VM à distance.

  1. Déterminez le contrôleur de domaine auquel la VM tente de se connecter. exécutez la commande suivante dans la console :

    set | find /i "LOGONSERVER"
    
  2. Testez l’intégrité du canal sécurisé entre la machine virtuelle et le contrôleur de domaine. Pour ce faire, exécutez la commande Test-ComputerSecureChannel dans une instance PowerShell élevée. Cette commande renvoie True ou False indiquant si le canal sécurisé est actif :

    Test-ComputerSecureChannel -verbose
    

    Si le canal est inactif, exécutez la commande suivante pour le réactiver :

    Test-ComputerSecureChannel -repair
    
  3. Assurez-vous que le mot de passe du compte d’ordinateur dans Active Directory est mis à jour sur la VM et le DC :

    Reset-ComputerMachinePassword -Server "<COMPUTERNAME>" -Credential <DOMAIN CREDENTIAL WITH DOMAIN ADMIN LEVEL>
    

Si la communication entre le DC et la VM est bonne, mais que le DC n’est pas suffisamment sain pour ouvrir une session RDP, vous pouvez essayer de redémarrer le DC.

Si les commandes précédentes n’ont pas résolu le problème de communication avec le domaine, vous pouvez rejoindre cette VM au domaine. Pour cela, procédez comme suit :

  1. Créez un script nommé Unjoin.ps1 en utilisant le contenu suivant, puis déployez le script en tant qu’Extension de script personnalisé sur le portail Azure :

    cmd /c "netdom remove <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10 /Force"
    

    Ce script supprime de force la VM du domaine et redémarre la VM 10 secondes plus tard. Ensuite, vous devez nettoyer l’objet Ordinateur côté domaine.

  2. Une fois le nettoyage terminé, rejoignez cette machine virtuelle au domaine. Pour ce faire, créez un script nommé JoinDomain.ps1 en utilisant le contenu suivant, puis déployez le script en tant qu’extension de script personnalisé sur le portail Azure :

    cmd /c "netdom join <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10"
    

Remarque

Cela rejoint la machine virtuelle sur le domaine en utilisant les informations d’identification spécifiées.

Si le canal Active Directory est sain, que le mot de passe de l’ordinateur est mis à jour et que le contrôleur de domaine fonctionne comme prévu, essayez les étapes suivantes.

Si le problème persiste, vérifiez si les informations d’identification du domaine sont désactivées. Pour ce faire, ouvrez une fenêtre d’invite de commande élevée, puis exécutez la commande suivante pour déterminer si la VM est configurée pour désactiver les comptes de domaine pour la connexion à la VM :

REG query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds

Si la clé est définie sur 1, cela signifie que le serveur a été configuré pour ne pas autoriser les informations d’identification de domaine. Remplacez cette clé par 0.

Dépanner les VM autonomes

Vérifier MinEncryptionLevel

Dans une instance CMD, exécutez la commande suivante pour interroger la valeur de registre MinEncryptionLevel:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel

Selon la valeur de Registre, procédez comme suit :

  • 4 (FIPS) : Vérifiez les connexions des algorithmes conformes aux FIP.

  • 3 (chiffrement 128 bits) : définissez la gravité sur 2 en exécutant la commande suivante :

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2 /f
    
  • 2 (Cryptage le plus élevé possible, tel que dicté par le client) : vous pouvez essayer de définir le cryptage sur la valeur minimale de 1 en exécutant la commande suivante :

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 1 /f
    

Redémarrez la machine virtuelle pour que les modifications au registre prennent effet.

Version TLS

Selon le système, RDP utilise le protocole TLS 1.0, 1.1 ou 1.2 (serveur). Pour demander comment ces protocoles sont configurés sur la VM, ouvrez une instance CMD, puis exécutez les commandes suivantes :

reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled

Si les valeurs retournées ne sont pas toutes 1, cela signifie que le protocole est désactivé. Pour activer ces protocoles, exécutez les commandes suivantes :

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f

Pour d’autres versions de protocoles, vous pouvez exécuter la commande suivante :

reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS x.x\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS x.x\Server" /v Enabled

Remarque

Obtenez la version x.x de SSH/TLS à partir des journaux du système d’exploitation invité sur les erreurs SCHANNEL.

Vérifiez les connexions des algorithmes conformes aux FIP

Le bureau à distance peut être forcé à n’utiliser que des connexions d’algorithmes conformes aux normes FIP. Cela peut être défini à l’aide d’une clé de registre. Pour ce faire, ouvrez une fenêtre d’invite de commandes avec élévation de privilèges, puis exécutez la commande suivante :

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled

Si la commande renvoie 1, remplacez la valeur de registre par 0.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled /t REG_DWORD /d 0

Vérifiez quel est le MinEncryptionLevel actuel sur la VM :

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel

Si la commande renvoie 4, remplacez la valeur de registre par 2

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2

Redémarrez la machine virtuelle pour que les modifications au registre prennent effet.

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.