ktpass

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012.

Configura el nombre de la entidad de seguridad del servidor para el host o servicio en los Active Directory Domain Services (AD DS) y genera un archivo .keytab que contiene la clave secreta compartida del servicio. El archivo .keytab se basa en la implementación del Instituto Tecnológico de Massachusetts (MIT) del protocolo de autenticación Kerberos. La herramienta de línea de comandos Ktpass permite a los servicios no Windows que admiten la autenticación Kerberos usar las características de interoperabilidad proporcionadas por el servicio Centro de distribución de claves (KDC) de Kerberos.

Sintaxis

ktpass
[/out <filename>]
[/princ <principalname>]
[/mapuser <useraccount>]
[/mapop {add|set}] [{-|+}desonly] [/in <filename>]
[/pass {password|*|{-|+}rndpass}]
[/minpass]
[/maxpass]
[/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All}]
[/itercount]
[/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST}]
[/kvno <keyversionnum>]
[/answer {-|+}]
[/target]
[/rawsalt] [{-|+}dumpsalt] [{-|+}setupn] [{-|+}setpass <password>]  [/?|/h|/help]

Parámetros

Parámetro Descripción
/out <filename> Especifica el nombre del archivo .keytab de la versión 5 de Kerberos que se va a generar. Nota: Este es el archivo .keytab que se transfiere a un equipo que no ejecuta el sistema operativo Windows y, a continuación, se reemplaza o combina con el archivo .keytab existente, /Etc/Krb5.keytab.
/princ <principalname> Especifica el nombre principal en el formulario host/computer.contoso.com@CONTOSO.COM. Advertencia: Este parámetro distingue mayúsculas de minúsculas.
/mapuser <useraccount> Asigna el nombre de la entidad de seguridad Kerberos, especificada por el parámetro princ, a la cuenta de dominio especificada.
/mapop {add|set} Especifica cómo se establece el atributo de asignación.
  • Add: agrega el valor del nombre de usuario local especificado. Este es el valor predeterminado.
  • Set: establece el valor del cifrado estándar de cifrado de datos (DES) solo para el nombre de usuario local especificado.
{-|+}desonly El cifrado de solo DES se establece de forma predeterminada.
  • + Establece una cuenta para el cifrado de solo DES.
  • - Libera la restricción en una cuenta para el cifrado de solo DES. Importante: Windows no admite DES de forma predeterminada.
/in <filename> Especifica el archivo .keytab que se va a leer desde un equipo host que no ejecuta el sistema operativo Windows.
/pass {password|*|{-|+}rndpass} Especifica una contraseña para el nombre de usuario principal especificado por el parámetro princ. Use * para solicitar una contraseña.
/minpass Establece la longitud mínima de la contraseña aleatoria en 15 caracteres.
/maxpass Establece la longitud máxima de la contraseña aleatoria en 256 caracteres.
/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} Especifica las claves que se generan en el archivo keytab:
  • DES-CBC-CRC: se usa para la compatibilidad.
  • DES-CBC-MD5: se adhiere más estrechamente a la implementación MIT y se usa para la compatibilidad.
  • RC4-HMAC-NT: emplea cifrado de 128 bits.
  • AES256-SHA1: emplea el cifrado AES256-CTS-HMAC-SHA1-96.
  • AES128-SHA1: emplea el cifrado AES128-CTS-HMAC-SHA1-96.
  • All: indica que se pueden usar todos los tipos criptográficos admitidos.

Nota: Dado que la configuración predeterminada se basa en versiones anteriores de MIT, siempre debe usar el parámetro /crypto.

/itercount Especifica el recuento de iteraciones que se usa para el cifrado AES. El valor predeterminado omite itercount para el cifrado que no es AES y establece el cifrado AES en 4096.
/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST} Especifica los tipos principales.
  • KRB5_NT_PRINCIPAL: tipo de entidad de seguridad general (recomendado).
  • KRB5_NT_SRV_INST: la instancia de servicio de usuario
  • KRB5_NT_SRV_HST: la instancia del servicio host
/kvno <keyversionnum> Especifica el número de versión de la clave. El valor predeterminado es 1.
/answer {-|+} Establece el modo de respuesta en segundo plano:
  • Las respuestas - restablecen automáticamente las solicitudes de contraseña con NO.
  • Las respuestas + restablecen automáticamente las solicitudes de contraseña con .
/target Establece qué controlador de dominio se va a usar. El valor predeterminado es para que se detecte el controlador de dominio, en función del nombre principal. Si el nombre del controlador de dominio no se resuelve, un cuadro de diálogo solicitará un controlador de dominio válido.
/rawsalt obliga a ktpass a usar el algoritmo rawsalt al generar la clave. Este parámetro es opcional.
{-|+}dumpsalt La salida de este parámetro muestra el algoritmo de sal mit que se usa para generar la clave.
{-|+}setupn Establece el nombre principal de usuario (UPN) además del nombre de entidad de seguridad de servicio (SPN). El valor predeterminado es establecer ambos en el archivo .keytab.
{-|+}setpass <password> Establece la contraseña del usuario cuando se proporciona. Si se usa rndpass, se genera una contraseña aleatoria en su lugar.
/? Muestra ayuda para este comando.

Comentarios

  • Los servicios que se ejecutan en sistemas que no ejecutan el sistema operativo Windows se pueden configurar con cuentas de instancia de servicio en AD DS. Esto permite que cualquier cliente Kerberos se autentique en servicios que no ejecutan el sistema operativo Windows mediante el KDC de Windows.

  • El parámetro /princ no se evalúa mediante ktpass y se usa como se proporciona. No hay ninguna comprobación para ver si el parámetro coincide con el caso exacto del valor del atributo userPrincipalName al generar el archivo Keytab. Las distribuciones Kerbero que distinguen mayúsculas de minúsculas que usan este archivo Keytab pueden tener problemas si no hay ninguna coincidencia exacta de mayúsculas y minúsculas e incluso podría producir un error durante la autenticación previa. Para comprobar y recuperar el valor de atributo userPrincipalName correcto de un archivo de exportación LDifDE. Por ejemplo:

    ldifde /f keytab_user.ldf /d CN=Keytab User,OU=UserAccounts,DC=contoso,DC=corp,DC=microsoft,DC=com /p base /l samaccountname,userprincipalname
    

Ejemplos

Para crear un archivo .keytab de Kerberos para un equipo host que no ejecuta el sistema operativo Windows, debe asignar la entidad de seguridad a la cuenta y establecer la contraseña de la entidad de seguridad de host.

  1. Use el complemento Usuario y equipos de Active Directory para crear una cuenta de usuario para un servicio en un equipo que no ejecute el sistema operativo Windows. Por ejemplo, cree una cuenta con el nombre User1.

  2. Use el comando ktpass para configurar una asignación de identidad para la cuenta de usuario escribiendo:

    ktpass /princ host/User1.contoso.com@CONTOSO.COM /mapuser User1 /pass MyPas$w0rd /out machine.keytab /crypto all /ptype KRB5_NT_PRINCIPAL /mapop set
    

    Nota

    No se pueden asignar varias instancias de servicio a la misma cuenta de usuario.

  3. Combine el archivo .keytab con el archivo /Etc/Krb5.keytab en un equipo host que no ejecute el sistema operativo Windows.