Saltar al contenido

¿Cómo puedo solucionar los errores de autenticación al utilizar el RDP para conectarme a una instancia de Windows de EC2?

9 minutos de lectura
0

Aparecen errores de autenticación cuando utilizo el Protocolo de escritorio remoto (RDP) para intentar iniciar sesión en mi instancia de Windows de Amazon Elastic Compute Cloud (Amazon EC2).

Descripción corta

Es posible que aparezcan los siguientes errores de autenticación cuando utilices el RDP para iniciar sesión en una instancia de Windows de Amazon EC2:

"An authentication error has occurred. The Local Security Authority cannot be contacted."

"The remote computer that you are trying to connect to requires Network Level Authentication (NLA), but your Windows domain controller cannot be contacted to perform NLA. If you are an administrator on the remote computer, you can disable NLA by using the options on the Remote tab of the System Properties dialog box."

Estos errores pueden producirse en los siguientes escenarios:

  • La autenticación de nivel de red (NLA) está activada en el servidor.
  • La relación de confianza entre tu dominio y la instancia de EC2 unida a ese dominio falla durante el inicio de sesión del RDP.

Puedes usar el runbook AWSSupport-TroubleshootRDP o puedes solucionar los errores manualmente.

Resolución

La NLA está activada en el servidor

Los errores de NLA se producen cuando una instancia pierde la conectividad a un controlador de dominio porque las credenciales del dominio no están autenticadas. Para solucionar este problema, utiliza uno de los siguientes métodos para desactivar la NLA en una instancia inaccesible:

  • Ejecuta la automatización AWSSupport-TroubleshootRDP de AWS Systems Manager para modificar la configuración de la instancia.
  • Utiliza el administrador de sesiones de Systems Manager o el comando aws:runPowerShellscript.
  • Cambia manualmente el registro sin conexión.

Nota: Debes cambiar el registro al cambiar la NLA. Antes de empezar, crea una imagen de máquina de Amazon (AMI) a partir de tu instancia. De este modo, se crea una copia de seguridad antes de cambiar el registro.

Ejecución de la automatización AWSSupport-TroubleshootRDP

Requisitos previos:

  • Revisa los cambios en la configuración de RDP, el servicio RDP y los perfiles del firewall de Windows.
  • Asegúrate de que la instancia de EC2 de destino tenga un rol de perfil de instancia de AWS Identity and Access Management (IAM) con la política administrada por Amazon AmazonSSMManagedInstanceCore adjunta.
  • Comprueba que tu usuario o rol de IAM actual tenga los permisos necesarios. Para obtener más información, consulta la sección Permisos de IAM necesarios de AWSSupport-TroubleshootRDP.
    Nota: Si eliges la opción AllowOffline, este runbook llama al runbook AWSSupport-ExecuteEC2Rescue para realizar la corrección sin conexión. Para iniciar el runbook, debes tener adjunta la política administrada de IAM AmazonSSMAutomationRole. Para obtener más información, consulta AWSSupport-StartEC2RescueWorkflow.

Para ejecutar el runbook de Systems Manager, sigue estos pasos:

  1. Abre la consola de Systems Manager.
  2. En el panel de navegación, selecciona Documentos.
  3. En la barra de búsqueda, escribe AWSSupport-TroubleshootRDP.
  4. Selecciona el documento AWSSupport-TroubleshootRDP.
  5. Selecciona Ejecutar automatización.
  6. Selecciona Ejecutar.

Para ver los resultados detallados una vez finalizada la automatización, revisa la sección Salidas.

Uso del administrador de sesiones de Systems Manager

Importante: La instancia debe estar en línea y tener instalado Systems Manager Agent (SSM Agent). Además, la instancia debe tener un rol de IAM que conceda permisos para el Administrador de sesiones. Para obtener más información, consulta Completar los requisitos previos del administrador de sesiones.

Para agregar claves de registro y desactivar NLA con el administrador de sesiones, sigue estos pasos:

  1. Abre la consola de Systems Manager.
  2. En el panel de navegación, selecciona Administrador de flotas.
  3. Selecciona la instancia administrada a la que quieres conectarte.
  4. En el menú Acciones del nodo, selecciona Iniciar sesión del terminal.
  5. Ejecuta los siguientes comandos en la sesión del terminal:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /f  
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f
    

Uso del comando aws:runPowerShellscript

Importante: La instancia debe estar en línea y tener el SSM Agent instalado. Además, la instancia debe tener un rol de IAM que conceda permisos para el Administrador de sesiones. Para obtener más información, consulta Completar los requisitos previos del administrador de sesiones.

Para agregar claves de registro y desactivar NLA con el documento de comandos aws:runPowerShellscript, sigue estos pasos:

  1. Abre la consola de Systems Manager.
  2. En el panel de navegación, selecciona Ejecutar comando y, a continuación, elige Ejecutar un comando.
    En Documento de comando, selecciona AWS-RunPowerShellScript.
    En Parámetros de comando, introduce los siguientes comandos:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /f  
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f
    En Selección de destino, elige Elegir instancias manualmente y, a continuación, selecciona la instancia.
  3. Selecciona Ejecutar.
  4. Espera hasta que el Estado general cambie a Correcto. Actualiza la página después de 2 minutos.
  5. Reinicia la instancia.
  6. Utiliza el RDP para iniciar sesión en la instancia.

Cambio manual del registro sin conexión

Sigue estos pasos:

  1. Detén la instancia inaccesible y, a continuación, separa el volumen raíz.

  2. Inicia una nueva instancia en la misma zona de disponibilidad que la instancia inaccesible que acabas de detener. La nueva instancia se convierte en tu instancia de rescate.

    Importante: Para evitar problemas de firma de disco, se recomienda iniciar una instancia de Windows diferente de la instancia inaccesible.

  3. Asocia el volumen separado a la instancia de rescate como /dev/xvdf.

  4. Conéctate a la instancia de rescate mediante el RDP y, a continuación, pon en línea el volumen que acabas de asociar en Administrador de discos.

  5. En el símbolo del sistema, introduce regedit.exe y, a continuación, pulsa Intro para abrir el Editor del registro.

  6. Selecciona HKEY_LOCAL_MACHINE, elige Archivo y, a continuación, elige Cargar Hive.

  7. Ve a la carpeta Windows del volumen asociado y, a continuación, selecciona el archivo SYSTEM. La ruta predeterminada es D:\Windows\System32\config.

  8. Asigna un nombre al archivo SYSTEM; por ejemplo, badsys.

  9. El archivo de sistema badsys aparece ahora en HKEY_LOCAL_MACHINE. En badsys, ve a ControlSet001, Control, Servidor de terminales, WinStations, RDP-Tcp.

  10. Haz doble clic en SecurityLayer y, a continuación, establece los datos de valor en 0.
    Selecciona UserAuthentication y establece los datos de valor en 0.
    Selecciona fAllowSecProtocolNegotiation y establece los datos de valor en 0.

  11. Selecciona badsys, elige Archivo y, a continuación, elige Descargar Hive.

  12. Cuando se descargue Hive, abre el Administrador de discos y desconecta el disco.

  13. Separa el volumen de la instancia de rescate y asócialo a la instancia inaccesible como volumen raíz (/dev/sda1).

  14. Inicia la instancia y, a continuación, prueba el RDP.

La relación de confianza falla durante el inicio de sesión de RDP

Usa credenciales de usuario almacenadas en caché para intentar iniciar sesión en la instancia inaccesible.

Requisitos previos:

  • Una cuenta local que pueda autenticarse correctamente en la instancia de EC2.
  • (Opcional) Al menos una cuenta de dominio que haya iniciado sesión cuando la instancia se comunicaba con el controlador de dominio. Para que la cuenta de dominio funcione, las credenciales de la cuenta de dominio deben almacenarse en caché en el servidor.
    Nota: Se recomienda utilizar una cuenta local.
  • Cuando el controlador de dominio no esté disponible, asegúrate de que la configuración del número de inicios de sesión anteriores que se deben almacenar en caché esté establecida en al menos 1. Debes hacer esto para usar inicios de sesión interactivos. Puedes establecer la política en el valor predeterminado de 10. De forma predeterminada, la política no está definida y puedes utilizar la política local del servidor.

Para usar las credenciales de usuario almacenadas en caché para iniciar sesión, sigue estos pasos:

  1. Abre la consola de Amazon EC2.
  2. En el panel de navegación, selecciona Grupos de seguridad.
  3. Selecciona Crear grupo de seguridad.
  4. Agrega un nombre y una descripción para el grupo de seguridad.
  5. En Reglas de entrada, selecciona Agregar regla.
    En Tipo, selecciona RDP. A continuación, introduce información sobre el origen desde el que deseas utilizar el RDP para conectarte.
  6. En Reglas de salida, elimina todos los accesos salientes.
  7. Selecciona Crear grupo de seguridad.
  8. En el panel de navegación, elige Instancias y, a continuación, selecciona la instancia inaccesible.
  9. Elige Acciones, selecciona Seguridad y, a continuación, elige Cambiar grupos de seguridad. Elimina los grupos de seguridad existentes y, a continuación, asigna el grupo de seguridad que acabas de crear.
  10. Utiliza la cuenta de dominio normal para usar el RDP para conectarte a la instancia de EC2. Dado que has eliminado todos los accesos salientes de Amazon EC2, RDP utiliza las credenciales almacenadas en caché en el servidor.

Nota: La autenticación se intenta inicialmente a través del controlador de dominio. Sin embargo, dado que no hay acceso saliente desde Amazon EC2, la autenticación finalmente comprueba las credenciales almacenadas en caché en el servidor. Se vuelve a intentar la autenticación con las credenciales almacenadas en caché y el inicio de sesión se completa correctamente. Tras iniciar sesión, puedes volver a cambiar la configuración del grupo de seguridad al estado original. A continuación, sigue solucionando cualquier problema con tu dominio.

Resolución de problemas adicionales

Si sigues sin poder conectarte a la instancia, consulta ¿Cómo soluciono los problemas de conexión de RDP con mi instancia de EC2 de Windows?

Información relacionada

Ejecutar comando de AWS Systems Manager

Administrador de sesiones de AWS Systems Manager

Ejecución de una operación automatizada con la tecnología de automatización de Systems Manager

Configuración de Automatización

Referencia del runbook de Automatización de Systems Manager