Solucionar problemas de erros de autenticação quando você usa o RDP para se conectar à VM do Azure
Aplica-se a: ✔️ Windows VMs
Este artigo pode ajudá-lo a solucionar problemas de erros de autenticação que ocorrem quando você usa a conexão de protocolo RDP para se conectar a uma VM (Máquina Virtual) do Azure.
Observação
Este artigo foi útil? Sua opinião é importante para nós. Por favor, use o botão Feedback nesta página para nos informar como este artigo funcionou para você ou como podemos melhorá-lo.
Sintomas
Você obtém uma captura de tela de uma VM do Azure que mostra a tela de boas-vindas e indica que o sistema operacional está em execução. No entanto, ao tentar se conectar à VM usando a Conexão de Área de Trabalho Remota, você recebe uma das seguintes mensagens de erro:
- Ocorreu um erro de autenticação. A Autoridade de Segurança Local não pode ser contatada.
- O computador remoto ao qual você está tentando se conectar requer NLA (Autenticação em Nível de Rede), mas o controlador de domínio do Windows não pode ser contatado para executar NLA. Se você for um administrador no computador remoto, poderá desabilitar NLA usando as opções na guia Remoto da caixa de diálogo Propriedades do Sistema.
- Este computador não pode se conectar ao computador remoto. Tente se conectar novamente e, se o problema persistir, entre em contato com o proprietário do computador remoto ou o administrador da rede.
Causa
Há vários motivos pelos quais o NLA pode bloquear o acesso RDP a uma VM:
- A VM não consegue se comunicar com o DC (controlador de domínio). Esse problema pode impedir que uma sessão de RDP acesse uma VM usando as credenciais de domínio. No entanto, você ainda poderá fazer logon usando as credenciais de Administrador Local. Esse problema pode ocorrer nas seguintes situações:
- O canal de segurança do Active Directory entre essa VM e o DC é interrompido.
- A VM tem uma cópia antiga da senha da conta e o DC tem uma cópia mais recente.
- O DC ao qual essa VM está se conectando não está íntegro.
- O nível de criptografia da VM é maior do que o usado pelo computador cliente.
- Os protocolos TLS 1.0, 1.1 ou 1.2 (servidor) estão desabilitados na VM. A VM foi definida para desabilitar logon usando as credenciais de domínio e a LSA (Autoridade de Segurança Local) está configurada incorretamente.
- A VM foi sido configurada para aceitar apenas conexões de algoritmo em conformidade com FIPS (Federal Information Processing Standard). Geralmente, isso é feito por meio da política do Active Directory. Essa é uma configuração rara, mas o padrão FIPS pode ser imposto apenas a conexões de Área de Trabalho Remota.
Antes de solucionar problemas
Criar um instantâneo de backup
Para criar um instantâneo de backup, siga as etapas em Criar instantâneo de um disco.
Conectar-se à VM remotamente
Para se conectar à VM remotamente, use um dos métodos em Como usar ferramentas remotas para solucionar problemas de VM do Azure.
Serviço de cliente de política de grupo
Quando se trata de uma VM ingressada no domínio, primeiro interrompa o serviço de cliente de Política de Grupo para impedir que qualquer Política do Active Directory substitua as alterações. Para fazer isso, execute o seguinte comando:
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
Depois que o problema for corrigido, restaure a capacidade dessa VM de entrar em contato com o domínio para recuperar o GPO mais recente do domínio. Para fazer isso, execute os seguintes comandos:
sc config gpsvc start= auto
sc start gpsvc
gpupdate /force
Se a alteração for revertida, isso que uma política do Active Directory está causando o problema.
Solução alternativa
Como solução alternativa para se conectar à VM e resolver a causa, você pode desabilitar temporariamente o NLA. Para desabilitar o NLA, use os comandos abaixo ou use o DisableNLA
script em Executar comando.
REM Disable the Network Level Authentication
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0
Em seguida, reinicie a VM e prossiga para a seção de solução de problemas.
Depois de resolver o problema, habilite novamente o NLA, executando os seguintes comandos e reiniciando a 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
Solução de problemas
Solucionar problemas de VMs ingressadas no domínio
Para solucionar esse problema:
- Verifique se a VM pode se conectar a um controlador de domínio.
- Verifique a integridade do CD.
Observação
Para testar a integridade do controlador de domínio, você pode usar outra VM que esteja na mesma VNET, sub-rede e use o mesmo servidor de logon.
Conecte-se à VM que tem o problema usando o console serial, o CMD remoto ou o PowerShell remoto, de acordo com as etapas na seção Conectar-se à VM remotamente.
Determine o controlador de domínio ao qual a VM está tentando se conectar. Execute o seguinte comando no console:
set | find /i "LOGONSERVER"
Teste a integridade do canal seguro entre a VM e o DC. Para fazer isso, execute o comando em uma instância elevada do
Test-ComputerSecureChannel
PowerShell. Este comando retorna True ou False indicando se o canal seguro está ativo:Test-ComputerSecureChannel -verbose
Se o canal for interrompido, execute o seguinte comando para repará-lo:
Test-ComputerSecureChannel -repair
Verifique se a senha da conta de computador no Active Directory está atualizada na VM e no DC:
Reset-ComputerMachinePassword -Server "<COMPUTERNAME>" -Credential <DOMAIN CREDENTIAL WITH DOMAIN ADMIN LEVEL>
Se a comunicação entre o DC e a VM for boa, mas o DC não estiver íntegro o suficiente para abrir uma sessão do RDP, você poderá tentar reiniciar o controlador de domínio.
Se os comandos anteriores não consertar o problema de comunicação com o domínio, você poderá reingressar essa VM no domínio. Para fazer isso, siga estas etapas:
Crie um script chamado Unjoin.ps1 usando o conteúdo a seguir e implante o script como uma Extensão de Script Personalizado no portal do Azure:
cmd /c "netdom remove <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10 /Force"
Esse script remove à força a VM do domínio e reinicia a VM 10 segundos depois. Em seguida, você precisa limpar o objeto Computer no lado do domínio.
Após a limpeza, reingresse essa VM no domínio. Para fazer isso, crie um script chamado JoinDomain.ps1 usando o conteúdo a seguir e, em seguida, implante o script como uma Extensão de Script Personalizado no portal do Azure:
cmd /c "netdom join <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10"
Observação
Isso adiciona a VM ao domínio usando as credenciais especificadas.
Se o canal do Active Directory estiver íntegro, a senha do computador estiver atualizada e o controlador de domínio estiver funcionando conforme o esperado, tente as etapas a seguir.
Se o problema persistir, verifique se a credencial de domínio está desabilitada. Para fazer isso, abra uma janela de prompt de comandos com privilégios elevados e, em seguida, execute o seguinte comando para determinar se a VM está configurada para desabilitar contas de domínio para fazer logon na VM:
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds
Se a chave está definida como 1, isso significa que o servidor foi definido para não permitir credenciais de domínio. Altere essa chave para 0.
Solucionar problemas de VMs autônomas
Verificar MinEncryptionLevel
Em uma instância do CMD, execute o seguinte comando para consultar o valor do Registro MinEncryptionLevel :
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel
Com base no valor do Registro, siga estas etapas:
4 (FIPS): Verifique as conexões de algoritmos compatíveis com FIPs.
3 (criptografia de 128 bits): defina a gravidade como 2 executando o seguinte comando:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2 /f
2 (Criptografia mais alta possível, conforme determinado pelo cliente): você pode tentar definir a criptografia para o valor mínimo de 1 executando o seguinte comando:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 1 /f
Reinicie a VM para que as alterações no Registro entrem em vigor.
Versão do TLS
Dependendo do sistema, o RDP usa o protocolo TLS 1.0, 1.1 ou 1.2 (servidor). Para consultar como esses protocolos são configurados na VM, abra uma instância CMD e, em seguida, execute os seguintes comandos:
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
Se os valores retornados não forem todos 1, isso significa que o protocolo está desabilitado. Para habilitar esses protocolos, execute os seguintes comandos:
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
Para outras versões do protocolo, você pode executar os comandos a seguir:
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
Observação
Obtenha o SSH/TLS versão x.x dos Logs do SO convidado nos erros de SCHANNEL.
Verifique as conexões de algoritmos compatíveis com FIPs
A área de trabalho remota pode ser imposta para usar somente conexões de algoritmo em conformidade com FIPs. Isso pode ser definido usando uma chave do Registro. Para fazer isso, abra uma janela de prompt de comandos com privilégios elevados e consulte as chaves a seguir:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled
Se o comando retornar 1, altere o valor do Registro para 0.
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled /t REG_DWORD /d 0
Verifique qual é o MinEncryptionLevel atual na VM:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel
Se o comando retornar 4, altere o valor do Registro para 2
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2
Reinicie a VM para que as alterações no Registro entrem em vigor.
Próximas etapas
- Método SetEncryptionLevel da classe Win32_TSGeneralSetting
- Configurar Autenticação de Servidor e Níveis de Criptografia
- Classe Win32_TSGeneralSetting
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.