Résoudre les erreurs d’authentification lorsque vous utilisez le protocole RDP pour vous connecter à une machine virtuelle Azure.
S’applique à : ✔️ Machine virtuelles Windows
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.
Note
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 l’authentification NLA en utilisant les options sous 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 cela, 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
Dépannage
Dépanner les machines virtuelles jointes à un domaine
Pour résoudre ce problème :
- Vérifiez si la VM peut se connecter à un DC.
- Vérifier l’état du contrôleur de domaine.
Note
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.
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"
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
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 ce faire, procédez comme suit :
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.
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"
Note
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
Note
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
- Méthode SetEncryptionLevel de la classe Win32_TSGeneralSetting
- Configurer les niveaux d’authentification et de chiffrement du serveur
- Classe Win32_TSGeneralSetting
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.