ktpass

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Configure le nom principal du serveur pour l’hôte ou le service dans services de domaine Active Directory (AD DS) et génère un fichier .keytab qui contient la clé secrète partagée du service. Ce fichier .keytab est basé sur l’implémentation par le MIT (Massachusetts Institute of Technology) du protocole d’authentification Kerberos. L’outil en ligne de commande ktpass permet aux services non Windows qui prennent en charge l’authentification Kerberos d’utiliser les fonctionnalités d’interopérabilité fournies par le service KDC (Kerberos Key Distribution Center).

Syntaxe

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]

Paramètres

Paramètre Description
/out <filename> Spécifie le nom du fichier Kerberos version 5 .keytab à générer. Note: Il s’agit du fichier .keytab que vous transférez sur un ordinateur qui n’exécute pas le système d’exploitation Windows, puis remplacez ou fusionnez avec votre fichier .keytab existant, /Etc/Krb5.keytab.
/princ <principalname> Spécifie le nom du principal dans l’hôte de formulaire/computer.contoso.com@CONTOSO.COM. Avertissement: Ce paramètre respecte la casse.
/mapuser <useraccount> Cartes le nom du principal Kerberos, qui est spécifié par le paramètre princ, au compte de domaine spécifié.
/mapop {add|set} Spécifie la façon dont l’attribut de mappage est défini.
  • Ajouter - Ajoute la valeur du nom d’utilisateur local spécifié. Il s’agit de la valeur par défaut.
  • Définir : définit la valeur du chiffrement standard de chiffrement des données (DES) uniquement pour le nom d’utilisateur local spécifié.
{-|+}désonly Le chiffrement DES uniquement est défini par défaut.
  • + Définit un compte pour le chiffrement DES uniquement.
  • - Libère la restriction sur un compte pour le chiffrement DES uniquement. Important : Windows ne prend pas en charge DES par défaut.
/in <filename> Spécifie le fichier .keytab à lire à partir d’un ordinateur hôte qui n’exécute pas le système d’exploitation Windows.
/pass {password|*|{-|+}rndpass} Spécifie un mot de passe pour le nom d’utilisateur principal spécifié par le paramètre princ . Utilisez * pour demander un mot de passe.
/minpass Définit la longueur minimale du mot de passe aléatoire sur 15 caractères.
/maxpass Définit la longueur maximale du mot de passe aléatoire sur 256 caractères.
/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} Spécifie les clés générées dans le fichier keytab :
  • DES-CBC-CRC - Utilisé pour la compatibilité.
  • DES-CBC-MD5 - Adhère plus étroitement à l’implémentation du MIT et est utilisé pour la compatibilité.
  • RC4-HMAC-NT - Utilise le chiffrement 128 bits.
  • AES256-SHA1 - Utilise le chiffrement AES256-CTS-HMAC-SHA1-96.
  • AES128-SHA1 : utilise le chiffrement AES128-CTS-HMAC-SHA1-96.
  • Tous : États que tous les types de chiffrement pris en charge peuvent être utilisés.

Note: Étant donné que les paramètres par défaut sont basés sur les anciennes versions mit, vous devez toujours utiliser le /crypto paramètre.

/itercount Spécifie le nombre d’itérations utilisé pour le chiffrement AES. La valeur par défaut ignore itercount pour le chiffrement non AES et définit le chiffrement AES sur 4 096.
/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST} Spécifie le type de principal.
  • KRB5_NT_PRINCIPAL - Type de principal général (recommandé).
  • KRB5_NT_SRV_INST - Instance du service utilisateur
  • KRB5_NT_SRV_HST - Instance du service hôte
/kvno <keyversionnum> Spécifie le numéro de version de clé. La valeur par défaut est 1.
/answer {-|+} Définit le mode de réponse en arrière-plan :
  • - Réponses réinitialise automatiquement les invites de mot de passe avec NO.
  • + Réponses réinitialise automatiquement les invites de mot de passe avec YES.
/target Définit le contrôleur de domaine à utiliser. La valeur par défaut est que le contrôleur de domaine soit détecté, en fonction du nom du principal. Si le nom du contrôleur de domaine ne résout pas, une boîte de dialogue invite un contrôleur de domaine valide.
/rawsalt force ktpass à utiliser l’algorithme rawsalt lors de la génération de la clé. Ce paramètre est facultatif.
{-|+}dumpsalt La sortie de ce paramètre montre l’algorithme de sel MIT utilisé pour générer la clé.
{-|+}setupn Définit le nom d’utilisateur principal (UPN) en plus du nom du principal de service (SPN). La valeur par défaut consiste à définir les deux dans le fichier .keytab.
{-|+}setpass <password> Définit le mot de passe de l’utilisateur lorsqu’il est fourni. Si rndpass est utilisé, un mot de passe aléatoire est généré à la place.
/? Affiche l’aide de cette commande.

Remarques

  • Les services s’exécutant sur des systèmes qui n’exécutent pas le système d’exploitation Windows peuvent être configurés avec des comptes d’instance de service dans AD DS. Cela permet à tout client Kerberos de s’authentifier auprès des services qui n’exécutent pas le système d’exploitation Windows à l’aide de KDCS Windows.

  • Le paramètre /princ n’est pas évalué par ktpass et est utilisé comme fourni. Il n’existe aucune vérification pour voir si le paramètre correspond au cas exact de la valeur d’attribut userPrincipalName lors de la génération du fichier Keytab. Les distributions Kerberos sensibles à la casse à l’aide de ce fichier Keytab peuvent rencontrer des problèmes s’il n’existe aucune correspondance exacte de cas et peuvent même échouer lors de l’authentification préalable. Pour vérifier et récupérer la valeur d’attribut userPrincipalName correcte à partir d’un fichier d’exportation LDifDE. Par exemple :

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

Exemples

Pour créer un fichier Kerberos .keytab pour un ordinateur hôte qui n’exécute pas le système d’exploitation Windows, vous devez mapper le principal au compte et définir le mot de passe du principal hôte.

  1. Utilisez le composant logiciel enfichable Utilisateur et ordinateurs Active Directory pour créer un compte d’utilisateur pour un service sur un ordinateur qui n’exécute pas le système d’exploitation Windows. Par exemple, créez un compte avec le nom User1.

  2. Utilisez la commande ktpass pour configurer un mappage d’identité pour le compte d’utilisateur en tapant :

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

    Notes

    Vous ne pouvez pas mapper plusieurs instances de service au même compte d’utilisateur.

  3. Fusionnez le fichier .keytab avec le fichier /Etc/Krb5.keytab sur un ordinateur hôte qui n’exécute pas le système d’exploitation Windows.

Références supplémentaires