Solucionar erros de autenticação ao usar o RDP para se conectar à VM do Azure
Aplica-se a: ✔️ VMs do Windows
Este artigo pode ajudá-lo a solucionar erros de autenticação que ocorrem quando você usa a conexão RDP (Remote Desktop Protocol) para se conectar a uma máquina virtual (VM) do Azure.
Observação
Esse artigo foi útil? Sua opinião é importante para nós. Use o botão Comentários nesta página para nos informar o quão bem este artigo funcionou para você ou como podemos melhorá-lo.
Sintomas
Você captura 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. Ao tentar se conectar à VM usando a Conexão da Área de Trabalho Remota, você recebe as 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 autenticação em nível de rede (NLA), mas o controlador de domínio do Windows não pode ser contatado para executar o 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.
Motivo
Existem vários motivos pelos quais o NLA pode bloquear o acesso RDP a uma VM:
- A VM não pode se comunicar com o controlador de domínio (DC). Esse problema pode impedir que uma sessão RDP acesse uma VM usando credenciais de domínio. No entanto, você ainda poderá fazer logon usando as credenciais do administrador local. Esse problema pode ocorrer nas seguintes situações:
- O canal de segurança do Active Directory entre esta VM e o controlador de domínio está interrompido.
- A VM tem uma cópia antiga da senha da conta e o DC tem uma cópia mais recente.
- O controlador de domínio ao qual esta VM está se conectando não está íntegro.
- O nível de criptografia da VM é superior ao usado pelo computador cliente.
- Os protocolos TLS 1.0, 1.1 ou 1.2 (servidor) estão desabilitados na VM. A VM foi configurada para desabilitar o logon usando credenciais de domínio e a autoridade de segurança local (LSA) está configurada incorretamente.
- A VM foi configurada para aceitar apenas conexões de algoritmo compatíveis com o Federal Information Processing Standard (FIPS). Isso geralmente é feito usando a política do Active Directory. Esta é uma configuração rara, mas o FIPS pode ser aplicado apenas para 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 Instantâneo de um disco.
Conecte-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.
Atendimento ao cliente da política de grupo
Se esta for uma VM ingressada no domínio, primeiro interrompa o serviço Cliente de Política de Grupo para evitar 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, significa 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 desativar temporariamente o NLA. Para desativar 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, reative 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 o estado da DC.
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 com problema usando Console serial, CMD remoto ou 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 controlador de domínio. Para fazer isso, execute o comando
Test-ComputerSecureChannel
em uma instância elevada do PowerShell. Este comando retorna True ou False indicando se o canal seguro está ativo:Test-ComputerSecureChannel -verbose
Caso não esteja, execute o seguinte comando para repará-lo:
Test-ComputerSecureChannel -repair
Certifique-se de que a senha da conta do computador no Active Directory esteja atualizada na VM e no DC:
Reset-ComputerMachinePassword -Server "<COMPUTERNAME>" -Credential <DOMAIN CREDENTIAL WITH DOMAIN ADMIN LEVEL>
Se a comunicação entre o controlador de domínio e a VM for boa, mas o controlador de domínio não estiver íntegro o suficiente para abrir uma sessão RDP, tente reiniciar o controlador de domínio.
Se os comandos anteriores não corrigirem o problema de comunicação com o domínio, você poderá reingressar esta VM no domínio. Para fazer isso, siga estas etapas:
Crie um script chamado Unjoin.ps1 usando o seguinte conteúdo e, em seguida, 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 Computador no lado do domínio.
Após a conclusão da limpeza, reingresse esta VM no domínio. Para fazer isso, crie um script denominado JoinDomain.ps1 usando o seguinte conteúdo 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 ingressa na VM no domínio usando as credenciais especificadas.
Se o canal do Active Directory estiver íntegro, a senha do computador for 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 do domínio está desativada. Para fazer isso, abra uma janela elevada do Prompt de Comando e execute o seguinte comando para determinar se a VM está configurada para desabilitar as contas de domínio para fazer logon na VM:
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds
Se a chave for definida como 1, isso significa que o servidor foi configurado para não permitir credenciais de domínio. Altere esta chave para 0.
Solucionar problemas de VMs independentes
Verifique MinEncryptionLevel
Em uma instância 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
Para modificar o valor do registo, siga estes passos:
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 tenham efeito.
Versão 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 do CMD e 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 de protocolo, você pode executar o seguinte comando:
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 a versão x.x do SSH/TLS nos registros do sistema operacional convidado nos erros do SCHANNEL.
Verifique as conexões de algoritmos compatíveis com FIPs
A área de trabalho remota pode ser aplicada para usar apenas conexões de algoritmo compatíveis com FIPs. Isso pode ser definido usando uma chave de registro. Para fazer isso, abra a janela do Prompt de Comando com privilégios elevados e insira as seguintes chaves:
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 tenham efeito.
Próximas etapas
- Classe SetEncryptionLevel da classe Win32_TSGeneralSetting
- Configurar a autenticação do servidor e os 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.