SSO en RDP para Windows Server y Active Directory con CredSSP: reutiliza credenciales de la sesión

¿Te conectas por RDP a un servidor Windows y, al abrir Active Directory o herramientas administrativas, vuelve a pedir usuario y contraseña? Con Single Sign‑On (SSO) mediante CredSSP puedes reutilizar automáticamente la identidad de tu sesión RDP y eliminar prompts repetidos sin sacrificar seguridad.

Índice

Resumen del problema

Escenario típico: inicias sesión por RDP en un Windows Server con una cuenta de administración de dominio o de servidor y, al abrir Active Directory Users and Computers (dsa.msc) u otras consolas (DNS, DHCP, GPMC, etc.), el sistema solicita de nuevo credenciales. En bastantes entornos la cuenta usada en RDP no coincide con la sesión del PC local, lo que impide “pasar” el inicio de sesión del equipo origen.

Solución en breve

La solución es habilitar SSO con CredSSP y evitar configuraciones que bloquean la delegación de credenciales. En la práctica:

  • En el cliente, habilita la Delegación de credenciales con TERMSRV/* y, si hay NTLM, la variante “con autenticación de solo NTLM”.
  • En el servidor RDP, deshabilita “Solicitar siempre contraseña” y usa “Negociar” en la capa de seguridad.
  • En el cliente RDP verifica enablecredsspsupport:i:1 y promptcredentialonce:i:1 en el archivo .rdp o en la UI de MSTSC.
  • No uses Restricted Admin ni Remote Credential Guard si necesitas el doble salto (el servidor usando tu identidad hacia el DC).
  • Si el segundo diálogo es de UAC, ajusta pertenencia a administradores o la directiva de elevación para que pida consentimiento en vez de credenciales.

Conceptos clave para entender qué está pasando

  • CredSSP (Credential Security Support Provider): permite que el cliente RDP delegue de forma controlada tus credenciales al servidor de Escritorio Remoto.
  • Kerberos y el “doble salto”: si al conectarte a un servidor A quieres que ese servidor se identifique en tu nombre ante un servicio B (p. ej., un DC, un file server o LDAP), el servidor A necesita tu TGT o un mecanismo equivalente. Sin delegación, Kerberos lo impedirá y verás prompts o fallos de autenticación.
  • NTLM: si no hay Kerberos (p. ej., equipos fuera de dominio o sin SPN válido), activar “delegación con NTLM‑only” es útil, aunque menos seguro.
  • Restricted Admin y Remote Credential Guard (RCG): protegen credenciales evitando su delegación completa, pero precisamente por eso rompen el doble salto necesario para abrir ADUC sin nuevos prompts.

Configuración en el cliente

Estas directivas se aplican en el PC desde el que lanzas MSTSC. Puedes hacerlo con gpedit.msc (local) o con GPO de dominio.

Delegación de credenciales con CredSSP

  1. Abre gpedit.msc.
  2. Navega a: Configuración del equipo > Plantillas administrativas > Sistema > Delegación de credenciales.
  3. Configura:
    • Permitir delegar credenciales predeterminadasHabilitadoAgregar servidores: TERMSRV/*.
    • Permitir delegar credenciales predeterminadas con autenticación de solo NTLMHabilitadoAgregar servidores: TERMSRV/* (opcional; actívalo si prevés NTLM o equipos fuera de dominio).
  4. Aplica la directiva: gpupdate /force.

Con esto el servidor RDP podrá usar tu identidad para autenticarse contra otros servicios (por ejemplo, el DC al abrir ADUC) sin pedir de nuevo usuario y contraseña.

Automatización con PowerShell

Si prefieres script en el cliente (requiere PowerShell con privilegios elevados):

# Crear las claves de directiva si no existen
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation' -Force | Out-Null
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials' -Force | Out-Null
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefCredentialsWhenNTLMOnly' -Force | Out-Null

MultiString con el patrón TERMSRV/\*

New-ItemProperty `  -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials'`
-Name '1' -Value 'TERMSRV/\*' -PropertyType MultiString -Force | Out-Null

New-ItemProperty `  -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefCredentialsWhenNTLMOnly'`
-Name '1' -Value 'TERMSRV/\*' -PropertyType MultiString -Force | Out-Null 

Configuración en el servidor

Estas opciones se aplican en el servidor destino de la conexión RDP. Úsalas en GPO de ordenador o localmente en gpedit.msc.

Evitar que el servidor rompa el SSO

  1. Abre gpedit.msc en el servidor.
  2. Ve a: Configuración del equipo > Plantillas administrativas > Componentes de Windows > Servicios de Escritorio remoto > Host de sesión de Escritorio remoto > Seguridad.
  3. Establece:
    • Solicitar siempre contraseña al conectarseDeshabilitado.
    • Capa de seguridad de RDPNegociar (usa TLS cuando está disponible).

Evitar modos que bloquean la delegación

  • No habilites Restricted Admin mode (mstsc /restrictedadmin).
  • No uses Remote Credential Guard si necesitas doble salto (abrir ADUC sin prompts desde el servidor). RCG impide que el servidor se autentique en tu nombre ante terceros.

Requisitos de confianza y tiempo

  • Cliente y servidor en el mismo dominio o dominios con confianza bidireccional.
  • Sincronización de hora correcta (Kerberos es sensible al desfase).
  • DNS funcional; SPN válidos para los servicios a los que accederás.

Ajustes del cliente RDP

En el archivo .rdp o en las propiedades de la conexión:

  • enablecredsspsupport:i:1 (habilita CredSSP; suele ser 1 por defecto).
  • promptcredentialonce:i:1 (evita prompts múltiples en escenarios con RD Gateway).
  • En la UI de MSTSC, no marques “Solicitar siempre credenciales”.
# Fragmento de .rdp
authentication level:i:2
enablecredsspsupport:i:1
promptcredentialonce:i:1

Cuando el diálogo extra es de UAC

Si al abrir una consola administrativa aparece un prompt que solicita credenciales, puede tratarse de UAC (elevación). Para evitarlo:

  • Inicia la sesión RDP con una cuenta que sea Administrador local del servidor; entonces UAC solo pedirá consentimiento (clic) en lugar de credenciales.
  • O adapta esta directiva: Configuración del equipo > Configuración de Windows > Configuración de seguridad > Directivas locales > Opciones de seguridadUAC: Comportamiento del aviso de elevación para administradores en Modo de aprobación de administradorSolicitar consentimiento.
  • No recomendado: deshabilitar UAC reduce la seguridad del servidor.

Comprobaciones rápidas

Ejecuta estos comandos dentro de la sesión RDP:

# Ver tickets Kerberos (deberías ver un TGT y tickets de servicio)
klist

Ver pertenencia a grupos (útil para comprobar derechos de admin)

whoami /groups

Ver políticas aplicadas

gpresult /r /scope\:computer
gpresult /h C:\Temp\gp.html

Abrir ADUC y validar que no aparece prompt

dsa.msc 

Tabla de configuración recomendada

ObjetivoDóndeDirectiva / AjusteValor recomendadoNotas
Permitir delegación básicaClientePermitir delegar credenciales predeterminadasHabilitado → TERMSRV/*Clave para SSO por RDP
Soporte cuando hay NTLMClientePermitir delegar credenciales predeterminadas con autenticación de solo NTLMHabilitado → TERMSRV/*Úsalo si no hay Kerberos
Evitar prompt de conexiónServidorSolicitar siempre contraseña al conectarseDeshabilitadoPermite que el cliente pase credenciales
Negociación seguraServidorCapa de seguridad de RDPNegociarUsa TLS si está disponible
Usar CredSSPCliente RDPenablecredsspsupport1Habilita CredSSP
Evitar prompts múltiplesCliente RDPpromptcredentialonce1Útil con RD Gateway
Evitar romper doble saltoCliente/ServidorRestricted Admin / Remote Credential GuardNo usarBloquean delegación

Solución de problemas

Errores habituales y cómo resolverlos

SíntomaCausa probableAcción
ADUC pide usuario/contraseña al abrirDelegación de credenciales no habilitada en el clienteConfigura Permitir delegar credenciales predeterminadas con TERMSRV/*; ejecuta gpupdate
klist no muestra TGTNo hay Kerberos o reloj desincronizadoComprueba hora, DNS, conectividad al DC
Prompt de credenciales solo al abrir consolas MMCEs un diálogo de UACUsa cuenta administrador local o ajusta directiva de UAC a “Solicitar consentimiento”
SSO funciona en un servidor pero no en otroEn ese servidor está habilitado Restricted Admin o RCGDesactiva esos modos si necesitas doble salto
El cliente pide credenciales dos veces al usar RD GatewayEl gateway y el host piden autenticación separadaConfigura promptcredentialonce:i:1 y usa las mismas credenciales para Gateway y host si procede
Conexión denegada tras parches de CredSSPDiferencia de nivel de “remediación” entre cliente y servidorAlinea la directiva de CredSSP Encryption Oracle Remediation en ambos

Pruebas puntuales

  • En la sesión RDP, ejecuta klist. Si no hay TGT (krbtgt/DOMINIO), no habrá delegación.
  • Abre dsa.msc. Si SSO está correcto, debe abrir sin pedir usuario/contraseña.
  • Valida con rsop.msc o gpresult que las políticas se aplicaron.

Automatización con GPO de dominio

En una GPO vinculada a los equipos administradores (no a los servidores):

  1. Editar GPO → Configuración del equipo > Plantillas administrativas > Sistema > Delegación de credenciales.
  2. Habilitar:
    • Permitir delegar credenciales predeterminadasTERMSRV/*.
    • Permitir delegar credenciales predeterminadas con autenticación de solo NTLMTERMSRV/* (si aplica).
  3. Filtra la GPO para aplicar solo a equipos de administración (PAW) según política de tu organización.

Alternativas cuando no puedes habilitar delegación

  • runas /netonly: lanza una consola usando credenciales de red sin cambiar el logon local: runas /netonly /user:DOMINIO\usuario "mmc dsa.msc" Útil para separar identidades, pero no es SSO automático.
  • Credenciales administradas y cuentas separadas: mantén cuentas de administración distintas y máquinas protegidas (PAW), limitando dónde habilitas delegación.

Buenas prácticas de seguridad

  • Habilita la delegación solo donde sea necesario y sobre máquinas de confianza.
  • Aplica separación de privilegios: usa estaciones de trabajo de administración dedicadas.
  • Monitoriza eventos de Kerberos y logons en servidores de salto.
  • Revisa periódicamente GPOs que permitan delegación y su ámbito.

Preguntas frecuentes

¿Funciona si el usuario de RDP es distinto del usuario que inició sesión en mi PC?
Sí. El SSO ocurre dentro de la sesión RDP. Da igual quién esté logado en el PC origen; lo importante es habilitar CredSSP y que el servidor no bloquee la delegación.

¿Necesito dominio para que funcione?
Funciona mejor con Kerberos en dominio. Para entornos fuera de dominio o sin SPN correcto, puedes usar la política de NTLM‑only, aceptando el riesgo asociado.

¿Qué ocurre si uso RD Gateway?
Usa promptcredentialonce:i:1 y, si es posible, las mismas credenciales para Gateway y host. Así evitarás prompts dobles.

¿Remote Credential Guard aumenta la seguridad, por qué no usarlo siempre?
Porque impide el doble salto. Si abres ADUC desde el servidor y necesitas que ese servidor se autentique en tu nombre ante el DC, RCG lo bloqueará y verás prompts o fallos.

¿Deshabilitar UAC arregla los prompts?
Puede “ocultar” el problema, pero reduce la seguridad. Es mejor ajustar el comportamiento de UAC para administradores a “Solicitar consentimiento”.

Checklist final

  • Cliente: “Permitir delegar credenciales predeterminadas” → TERMSRV/*.
  • Cliente: opción NTLM‑only si procede → TERMSRV/*.
  • Servidor: “Solicitar siempre contraseña” → Deshabilitado.
  • Servidor: “Capa de seguridad de RDP” → Negociar.
  • Cliente RDP: enablecredsspsupport:i:1 y promptcredentialonce:i:1.
  • Sin Restricted Admin ni Remote Credential Guard cuando requieras doble salto.
  • Si aparece UAC, usa cuenta de admin local o ajusta la directiva a “Solicitar consentimiento”.
  • Comprueba con klist y abre dsa.msc sin prompts.

Conclusión

Para que Windows Server reutilice automáticamente el usuario/contraseña de tu sesión RDP al abrir Active Directory y otras consolas, habilita CredSSP con delegación de credenciales en el cliente, configura el servidor para no forzar nuevos prompts y evita modos que bloquean la delegación. Si el diálogo extra es de UAC, ajusta la pertenencia a administradores o las opciones de elevación. Con este enfoque obtendrás un SSO consistente, seguro y sin fricciones en tus sesiones de administración.

Índice