Soluciona problemas de RDP


En algunas situaciones, es posible que no puedas conectarte a tu instancia de Windows de Compute Engine con RDP. Esto puede deberse a errores de configuración o de red, o a que el proceso de inicio no se haya completado.

En esta página, se describe una serie de consejos y enfoques para solucionar problemas comunes de RDP.

Asegúrate de que la VM esté en línea y lista

Una vez que la VM termina de iniciarse, lo que puede tardar unos minutos, confirma su estado mediante uno de los siguientes métodos:

Puerto en serie 1

El puerto en serie 1 se usa para registrar la actividad del sistema y de la aplicación. Visualiza los resultados para determinar si la VM terminó de iniciarse y si los servicios se iniciaron de forma correcta.

  1. En Google Cloud Console, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Haz clic en el nombre de la VM de la que deseas ver los registros. Se abrirá la página Detalles de instancia de VM.

  3. En registros, selecciona Puerto en serie 1.

  4. Revisa la salida del puerto en serie 1 y busca una salida similar a la siguiente:

    BdsDxe: loading Boot0003 "Windows Boot Manager" from HD(2,GPT,DD3FB000-7000-4000-8000-3977378A7000,0x0000,0x00000)/\EFI\Microsoft\Boot\bootmgfw.efi
    BdsDxe: starting Boot0003 "Windows Boot Manager" from HD(2,GPT,DD3FB000-7000-4000-8000-3977378A7000,0x0000,0x00000)/\EFI\Microsoft\Boot\bootmgfw.efi
    
    UEFI: Attempting to start image.
    Description: Windows Boot Manager
    FilePath: HD(2,GPT,DD3FB000-7000-4000-8000-3977378A7000,0x0000,0x00000)/\EFI\Microsoft\Boot\bootmgfw.efi
    OptionNumber: 3.
    
    2021/04/13 10:50:22 GCEGuestAgent: GCE Agent Started (version 20210128.00)
    2021-04-13T10:50:23.4621Z OSConfigAgent Info: OSConfig Agent (version 20210217.00.0+win@1) started.
    2021/04/13 10:50:42 GCEMetadataScripts: Starting startup scripts (version 20200129.00).
    2021/04/13 10:50:42 GCEMetadataScripts: No startup scripts to run.
    

El resultado que contiene GCEGuestAgent o GCEMetadataScripts confirma que Windows se inició de forma correcta. Vuelve a conectarte a tu VM mediante RDP.

Puerto en serie 2

El puerto en serie 2 proporciona una conexión interactiva a la VM y también muestra la salida de la consola administrativa especial (SAC). Puedes usar la consola en serie 2 para determinar si los servicios del sistema se iniciaron de forma correcta.

  1. En Google Cloud Console, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Haz clic en el nombre de la VM de la que deseas ver los registros. Se abrirá la página Detalles de instancia de VM.

  3. En registros, expande Más y, luego, haz clic en Puerto en serie 2 (consola).

  4. Revisa la salida del puerto en serie 2 y busca una salida similar a la siguiente:

    BdsDxe: loading Boot0003 "Windows Boot Manager" from HD(2,GPT,DD3FB000-7000-4000-8000-3977378A7000,0x0000,0x00000)/\EFI\Microsoft\Boot\bootmgfw.efi
    BdsDxe: starting Boot0003 "Windows Boot Manager" from HD(2,GPT,DD3FB000-7000-4000-8000-3977378A7000,0x0000,0x00000)/\EFI\Microsoft\Boot\bootmgfw.efi
    
    UEFI: Attempting to start image.
    Description: Windows Boot Manager
    FilePath: HD(2,GPT,DD3FB000-7000-4000-8000-3977378A7000,0x0000,0x00000)/\EFI\Microsoft\Boot\bootmgfw.efi
    OptionNumber: 3.
    
    <machine-info>
    <name>WINDOWS</name>
    <guid>b7ab5000-4000-e000-e000-bc5a738da000</guid>
    <processor-architecture>AMD64</processor-architecture>
    <os-version>10.0</os-version>
    <os-build-number>17763</os-build-number>
    <os-product>Windows Server 2019 Datacenter</os-product>
    <os-service-pack>None</os-service-pack>
    </machine-info>
    Computer is booting, SAC started and initialized.
    Use the "ch -?" command for information about using channels.
    EVENT: The CMD command is now available.
    SAC>
    

El resultado que contiene SAC started and initialized o CMD command is now available confirma que Windows se inició de forma correcta. Vuelve a conectarte a tu VM mediante RDP.

Captura de pantalla de la VM

Las capturas de pantalla de VM proporcionan una representación visual del estado de una VM, similar a un monitor de computadora.

  1. Para poder realizar una captura de pantalla de la VM, debes habilitar la pantalla virtual. Si aún no habilitaste la pantalla virtual, consulta Habilita pantallas virtuales.

  2. Toma una captura de pantalla. Para obtener más información, consulta Realiza una captura de pantalla desde una VM.

  3. Revisa la captura de pantalla para ver que la instancia está lista.

Compare su captura de pantalla con la siguiente para determinar el estado actual:

Si Windows no se inició de forma correcta después de unos minutos, revisa la guía Soluciona problemas de Windows.

Verifica la contraseña de la instancia de Windows

Cada instancia de Windows de Compute Engine debe tener una contraseña local si aún no está en un dominio o imagen personalizada. Para confirmar que tienes configurada la contraseña correcta, conéctate a la VM mediante la herramienta de línea de comandos de gcloud command-line tool o Cloud Console. Para obtener más información, consulta Conéctate a la SAC de Windows.

Si tienes problemas para conectarte, intenta crear o restablecer la contraseña. Si deseas obtener más información, consulta Crea contraseñas para VM de Windows.

Verifica si usas Windows Server Core

Cuando te conectas con RDP, si recibes una ventana del símbolo del sistema en un fondo en blanco, es probable que indiques que usas Windows Server Core. Para confirmar que ejecuta el comando a continuación, sigue estos pasos:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v InstallationType

Server Core en tu resultado confirma que usas la edición Windows Core.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    InstallationType    REG_SZ    Server Core

Si necesitas una interfaz de usuario gráfica para la carga de trabajo, consulta Crea una instancia de Windows que contenga experiencia de escritorio en lugar de Server Core. Como alternativa, puedes revisar la documentación de Microsoft Administra el servidor de Windows Core.

Verifica las reglas de firewall de VPC

Compute Engine aprovisiona proyectos nuevos de forma automática con una regla de firewall que permite el tráfico de RDP. Si tienes un proyecto existente o modificaste la configuración, la regla de firewall predeterminada que permite el RDP podría no existir. Confirma que una regla permite que el tráfico de RDP se conecte a la red en la que se encuentra la instancia afectada.

Para verificar que la regla de firewall default-allow-rdp existe en el proyecto, verifica la página de reglas de firewall o ejecuta el siguiente comando del SDK de gcloud:

gcloud compute firewall-rules list

Si no existe una regla, usa el siguiente comando para crear una nueva:

gcloud compute firewall-rules create allow-rdp --allow tcp:3389

Verifica la dirección IP externa

Asegúrate de conectarte a la dirección IP externa correcta para la instancia. Observa la IP de la instancia desde la página de instancias de VM o mediante el siguiente comando del SDK de gcloud:

gcloud compute instances list

Uso de los servicios de escritorio remoto (RDS) de Windows

Si tienes los servicios de escritorio remoto de Windows (antes conocidos como servicios de terminal) instalados en la instancia, se aplican las condiciones de las licencias de acceso de cliente (CAL). Con estas CAL, las conexiones de RDP tendrán errores en cualquiera de las siguientes condiciones:

  • Si usaste todas las licencias disponibles.
  • Tu licencia está instalada, pero no se configuró ni se activó de manera correcta.
  • Expiró el período de prueba de RDS de 180 días.

Los síntomas de que no tienes suficientes licencias válidas incluyen mensajes como los que se muestran a continuación:

  • Esta sesión remota se desconectó porque no hay servidores de licencias de escritorio remoto disponibles para proporcionar una licencia.
  • La sesión remota se desconectó debido a un error relacionado con las licencias en Terminal Server.
  • La sesión remota se desconectó porque no hay licencias de acceso de cliente a escritorio remoto disponibles para esta computadora.

Si las conexiones de RDP tienen errores, se puede usar el interruptor de administrador para conectarte a la instancia con fines administrativos. Esto se puede hacer en una máquina de Windows mediante el cliente nativo de conexión a escritorio remoto.

%systemroot%/system32/mstsc.exe /admin

A fin de resolver problemas con las conexiones de RDP, compra licencias nuevas para la instancia. Para obtener más detalles sobre las CAL, revisa la documentación de Microsoft. De lo contrario, si no se requieren los servicios de escritorio remoto, desinstala el servicio y usa conexiones de RDP normales.

Verifica la configuración del SO

Si el entorno y la configuración para la instancia son correctos, el sistema operativo en la instancia podría estar mal configurado. Puedes usar la consola en serie interactiva para conectarte a la instancia y solucionar el problema.

Conéctate a la instancia a través de uno de los métodos de línea de comandos disponibles y ejecuta los siguientes comandos para asegurarte de que la instancia acepte conexiones:

  1. Verifica que se ejecute el “Servicio de escritorio remoto”:

    • Comando: net start | find “Remote Desktop Services”
    • Aprobado: servicio de escritorio remoto
    • Error: (falta el servicio de escritorio remoto en el resultado)
    • Solución: net start “Remote Desktop Services”
  2. Verifica que las conexiones remotas estén habilitadas:

    • Comando: reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"/v fDenyTSConnections
    • Aprobado: fDenyTSConnections REG_DWORD 0x0
    • Error: fDenyTSConnections REG_DWORD 0x1
    • Solución: reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /f /v fDenyTSConnections /t REG_DWORD /d 0
  3. Asegúrate de que el firewall de Windows tenga habilitadas las conexiones de escritorio remoto:

    • Comando: netsh advfirewall firewall show rule name=“Remote Desktop - User Mode (TCP-In)”
    • Aprobado: Habilitado: sí, Dirección: adentro, Perfiles: público, Grupo: escritorio remoto, LocalIP: cualquiera, RemoteIP: cualquiera, Protocolo: TCP, LocalPort: 3389, RemotePort: cualquiera, Recorrido perimetral: no, Acción: permitida

    • Error: (resultados inesperados, como habilitado = No)

    • Solución: netsh firewall set service remotedesktop enable

  4. Verifica el número del puerto configurado para las conexiones de RDP en la instancia remota:

    • Comando: reg query “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /v PortNumber
    • Aprobado: PortNumber REG_DWORD [PORT NUMBER]
    • Error: (número de puerto inesperado)
    • Solución: reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"/f /v PortNumber /t REG_DWORD /d [PORT NUMBER]

  5. Asegúrate de que la cuenta de usuario conectada tenga permisos para conexiones remotas:

    • Comando: net localgroup “Remote Desktop Users”
    • Aprobado: (el nombre de usuario local o del dominio de destino se encuentra en la lista resultante)
    • Error: (falta el nombre de usuario local o del dominio de destino)
    • Solución: net localgroup "Remote Desktop Users" /add[DOMAIN\USERNAME]

  6. Restablece la negociación de seguridad cliente/servidor a su valor predeterminado:

    • Comando: reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer
    • Aprobado: SecurityLayer REG_DWORD 0x1
    • Error: SecurityLayer REG_DWORD 0x0 (or 0x2)
    • Solución: reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 1 /f
  7. Restablece la autenticación de nivel de red del usuario a su valor predeterminado:

    • Comando: reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication
    • Aprobado: UserAuthentication REG_DWORD 0x0
    • Error: UserAuthentication REG_DWORD 0x1
    • Solución: eg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
  8. Verifica que el tamaño de tu MTU no sea mayor que la MTU de la red:

    • Comando: netsh interface ipv4 show subinterfaces
    • Aprobado: Cuando el número después de la MTU coincide con la MTU de la red de VPC
    • Error: Cuando el número después de la MTU es mayor que la MTU de la red de VPC
    • Solución: netsh interface ipv4 set subinterface Ethernet mtu=MTU_OF_VPC_NETWORK

      Nota: Las redes de VPC tienen una unidad de transmisión máxima (MTU) predeterminada de 1460 bytes. Sin embargo, la MTU de la red se puede establecer en 1500 bytes. Consulta Unidad de transmisión máxima para obtener información general sobre las MTU de red.
  9. Asegúrate de que la configuración del cliente de protección de extremos o del antivirus permita el número de puerto y los servicios configurados.

Soluciona problemas de inicio de Windows

Si los pasos anteriores de solución de problemas no resolvieron el problema de conexión RDP, es posible que tu instancia de Windows no se inicie o no se ejecute de forma correcta. En este caso, revisa nuestra guía para solucionar problemas de Windows.

¿Qué sigue?