ktpass

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

Configure le nom du principal 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 Centre de distribution de clés Kerberos (KDC).

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 .keytab version 5 Kerberos à générer. Note: Il s’agit du fichier .keytab que vous transférez vers 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 principal dans le formulaire host/computer.contoso.com@CONTOSO.COM. Avertissement: Ce paramètre respecte la casse.
/mapuser <useraccount> Mappe 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.
  • Set : définit la valeur du chiffrement DES (Data Encryption Standard) 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.
/Dans <filename> Spécifie le fichier .keytab à lire à partir d’un ordinateur hôte qui n’exécute pas le système d’exploitation Windows.
/Passer {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.
  • All : indique 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 d’anciennes versions du MIT, vous devez toujours utiliser le /crypto paramètre .

/itercount Spécifie le nombre d’itérations qui est 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 principal.
  • KRB5_NT_PRINCIPAL : type 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 la clé. La valeur par défaut est 1.
/Réponse {-|+} Définit le mode de réponse en arrière-plan :
  • - Répond aux invites de réinitialisation de mot de passe automatiquement avec NON.
  • + Répond aux invites de réinitialisation de mot de passe automatiquement avec OUI.
/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 principal. Si le nom du contrôleur de domaine ne résout pas, une boîte de dialogue vous invite à entrer 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 de principal du 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 pour 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 à n’importe quel client Kerberos de s’authentifier auprès des services qui n’exécutent pas le système d’exploitation Windows à l’aide de KDC Windows.

  • Le paramètre /princ n’est pas évalué par ktpass et est utilisé comme fourni. Il n’est pas vérifié si le paramètre correspond exactement à la casse de la valeur de l’attribut userPrincipalName lors de la génération du fichier Keytab. Les distributions Kerberos respectant la casse à l’aide de ce fichier Keytab peuvent rencontrer des problèmes s’il n’y a pas de correspondance exacte de la casse et peuvent même échouer pendant la pré-authentification. 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 nommé 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.