Solucionar errores de autenticación cuando use RDP para conectarse a la máquina virtual de Azure
Se aplica a: ✔️ Máquinas virtuales de Windows
Este artículo puede ayudarle a solucionar los errores de autenticación que se producen al utilizar una conexión de protocolo de escritorio remoto (RDP) para conectarse a una máquina virtual (VM) de Azure.
Nota:
¿Le resultó útil este artículo? Su opinión es importante para nosotros. Use el botón Comentarios de esta página para indicarnos lo bien que ha funcionado este artículo o cómo podemos mejorarlo.
Síntomas
Captura de pantalla de una máquina virtual Azure que muestra la pantalla de bienvenida e indica que el sistema operativo se está ejecutando. Sin embargo, al intentar conectarse a la VM mediante Conexión de Escritorio remoto, recibe el siguiente mensaje de error:
- Error de autenticación. No se puede conectar con la autoridad de seguridad Local.
- El equipo remoto al que intenta conectarse requiere autenticación de nivel de red (NLA), pero no se puede contactar con el controlador de dominio de Windows para realizar NLA. Si es administrador en el equipo remoto, puede deshabilitar la NLA mediante las opciones de la ficha acceso remoto que se encuentra en el cuadro de diálogo Propiedades del sistema.
- This computer can't connect to the remote computer (Este equipo no se puede conectar al equipo remoto). Intente conectarse de nuevo y, si el problema continúa, póngase en contacto con el propietario del equipo remoto o con el administrador de red.
Causa
Hay múltiples razones por las que NLA puede bloquear el acceso RDP a una VM:
- La máquina virtual no puede comunicarse con el controlador de dominio (DC). Este problema podría impedir que una sesión RDP accediera a una máquina virtual utilizando credenciales de dominio. No obstante, podrá iniciar sesión con las credenciales de administrador local. Este problema puede producirse en las situaciones siguientes:
- El canal de seguridad de Active Directory entre esta máquina virtual y el centro de distribución está roto.
- La VM tiene una copia antigua de la contraseña de la cuenta y el DC tiene una copia más reciente.
- El controlador de dominio al que se está conectando esta VM tiene un estado incorrecto.
- El nivel de cifrado de la máquina virtual es superior al que utiliza el ordenador cliente.
- Los protocolos TLS 1.0, 1.1 o 1.2 (servidor) están desactivados en la máquina virtual. La máquina virtual se configuró para deshabilitar el inicio de sesión mediante credenciales de dominio y la autoridad de seguridad local (LSA) se configuró incorrectamente.
- La máquina virtual se configuró para aceptar únicamente conexiones con algoritmos que cumplieran la Norma Federal de Procesamiento de la Información (FIPS). Esto suele hacerse mediante la política de Active Directory. Se trata de una configuración poco habitual, pero FIPS puede aplicarse únicamente a las conexiones de Escritorio remoto.
Antes de iniciar los pasos de la solución
Cree una instantánea de copia de seguridad
Para crear una instantánea de copia de seguridad, siga los pasos descritos en Instantánea de un disco.
Conéctese a la máquina virtual de forma remota
Para conectarse a la máquina virtual de forma remota, use uno de los métodos que se detallan en How to use remote tools to troubleshoot Azure VM issues (Cómo usar herramientas remotas para solucionar problemas con la máquina virtual de Azure).
Servicio al cliente de pólizas de grupo
Si se trata de una máquina virtual unida a un dominio, detenga primero el servicio Cliente de directivas de grupo para evitar que cualquier directiva de Active Directory sobrescriba los cambios. Para ello, ejecute el siguiente 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
Una vez solucionado el problema, restaure la capacidad de esta máquina virtual de ponerse en contacto con el dominio para recuperar el último GPO del dominio. Para ello, ejecute los siguientes comandos:
sc config gpsvc start= auto
sc start gpsvc
gpupdate /force
Si el cambio se revierte, significa que hay una directiva de Active Directory que causa el problema.
Solución alternativa
Como solución para conectarse a la máquina virtual y resolver la causa, puede desactivar temporalmente NLA. Para desactivar NLA utilice los siguientes comandos, o utilice el script DisableNLA
en Comando de ejecución.
REM Disable the Network Level Authentication
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0
A continuación, reinicie la máquina virtual y continúe con la sección de solución de problemas.
Una vez resuelto el problema, vuelva a habilitar NLA ejecutando los siguientes comandos y reiniciando la máquina virtual:
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
Solución de problemas
- Solución de problemas de máquinas virtuales unidas a un dominio.
- Solución de problemas de máquinas virtuales independientes.
Solución de problemas de máquinas virtuales unidas a un dominio
Para solucionar este problema:
- Compruebe si la máquina virtual puede conectarse a un centro de distribución.
- Compruebe el estado del controlador de dominio.
Nota:
Para probar la salud del DC, puede utilizar otra VM que esté en la misma VNET, subred y utilice el mismo servidor de inicio de sesión.
Conéctese a la VM que tiene el problema mediante Consola serie, CMD remoto o PowerShell remoto, según los pasos de la sección Conectarse a la VM de forma remota.
Determine el DC al que intenta conectarse la VM. ejecute el siguiente comando en la consola:
set | find /i "LOGONSERVER"
Pruebe la salud del canal seguro entre la VM y el DC. Para ello, ejecute el comando
Test-ComputerSecureChannel
en una instancia de PowerShell con permisos elevados. Este comando devuelve True o False indicando si el canal seguro está vivo:Test-ComputerSecureChannel -verbose
Si el canal está roto, ejecute el siguiente comando para repararlo:
Test-ComputerSecureChannel -repair
Asegúrese de que la contraseña de la cuenta de equipo en Active Directory está actualizada en la VM y en el DC:
Reset-ComputerMachinePassword -Server "<COMPUTERNAME>" -Credential <DOMAIN CREDENTIAL WITH DOMAIN ADMIN LEVEL>
Si la comunicación entre el DC y la VM es buena, pero el DC no está lo suficientemente sano como para abrir una sesión RDP, puede intentar reiniciar el DC.
Si los comandos anteriores no solucionaron el problema de comunicación con el dominio, puede volver a unir esta máquina virtual al dominio. Para ello, siga estos pasos:
Cree una secuencia de comandos llamada Unjoin.ps1 con el siguiente contenido y, a continuación, impleméntela como Extensión de secuencia de comandos personalizada en el portal de Azure:
cmd /c "netdom remove <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10 /Force"
Este script elimina por la fuerza la máquina virtual del dominio y la reinicia 10 segundos después. A continuación, debe limpiar el objeto Ordenador en el lado del dominio.
Una vez realizada la limpieza, vuelva a unir esta máquina virtual al dominio. Para ello, cree una secuencia de comandos denominada JoinDomain.ps1 con el siguiente contenido y, a continuación, despliéguela como una extensión de secuencia de comandos personalizada en el portal de Azure:
cmd /c "netdom join <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10"
Nota:
Esto une la VM en el dominio utilizando las credenciales especificadas.
Si el canal de Active Directory está en buen estado, la contraseña del equipo está actualizada y el controlador de dominio funciona como se espera, pruebe los siguientes pasos.
Si el problema persiste, compruebe si la credencial de dominio está desactivada. Para ello, abra una ventana elevada del símbolo del sistema y ejecute el siguiente comando para determinar si la máquina virtual está configurada para deshabilitar las cuentas de dominio para iniciar sesión en la máquina virtual:
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds
Si la clave es 1, significa que el servidor se configuró para no permitir credenciales de dominio. Cambia esta tecla a 0.
Solución de problemas en máquinas virtuales autónomas
Comprobar MinEncryptionLevel
En una instancia de CMD, ejecute el siguiente comando para consultar el valor de registro MinEncryptionLevel:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel
Según el valor del Registro, siga estos pasos:
4 (FIPS): Comprueba las conexiones de algoritmos compatibles con FIPS.
3 (cifrado de 128 bits): Establezca la gravedad en 2 ejecutando el siguiente comando:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2 /f
2 (Cifrado más alto posible, según dicte el cliente): Puede intentar establecer el cifrado en el valor mínimo de 1 ejecutando el siguiente comando:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 1 /f
Reinicie la máquina virtual para que los cambios del Registro surtan efecto.
Versión TLS
Dependiendo del sistema, RDP utiliza el protocolo TLS 1.0, 1.1 o 1.2 (servidor). Para consultar cómo están configurados estos protocolos en la máquina virtual, abra una instancia de CMD y ejecute los siguientes 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
Si los valores devueltos no son todos 1, significa que el protocolo está desactivado. Para habilitar estos protocolos, ejecute los siguientes 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 otras versiones de protocolo, ejecute los comandos siguientes:
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
Nota:
Obtenga la versión x.x de SSH/TLS de los registros del SO huésped en los errores de SCHANNEL.
Comprobar las conexiones de los algoritmos compatibles con los PIF
Es posible forzar a Escritorio remoto para que use únicamente conexiones de algoritmo compatibles con FIPs. Esto puede establecerse mediante una clave de registro. Para ello, abra una ventana del símbolo del sistema con privilegios elevados y luego consulte las siguientes claves:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled
Si el comando devuelve 1, cambie el valor del registro a 0.
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled /t REG_DWORD /d 0
Comprueba cual es el MinEncryptionLevel actual en la VM:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel
Si el comando devuelve 4, cambie el valor del registro a 2.
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2
Reinicie la máquina virtual para que los cambios del Registro surtan efecto.
Pasos siguientes
- Método SetEncryptionLevel de la clase Win32_TSGeneralSetting
- Configurar los niveles de autenticación y cifrado del servidor
- Clase Win32_TSGeneralSetting
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.