Partage via


ktpass

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

Configure le nom du principal du serveur de l’hôte ou du service dans Active Directory Domain Services (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 (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. Remarque : 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 que vous remplacez ou fusionnez avec votre fichier .keytab existant, /Etc/Krb5.keytab.
/princ <principalname> Spécifie le nom principal dans l’hôte de formulaire/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.
  • Add : 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é.
{-|+}desonly 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 à 15 caractères.
/maxpass Définit la longueur maximale du mot de passe aléatoire à 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 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 cryptographiques pris en charge peuvent être utilisés.

Remarque : Étant donné que les paramètres par défaut sont basés sur des versions antérieures de MIT, vous devez toujours utiliser le paramètre /crypto.

/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 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 la clé. La valeur par défaut est 1.
/answer {-|+} Définit le mode de réponse en arrière-plan :
  • Les réponses - réinitialisent les invites de mot de passe automatiquement avec NON.
  • Les réponses + réinitialisent les invites 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 du principal. Si le nom du contrôleur de domaine ne se 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 salage 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.

Notes

  • Les services exécutés 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 de services qui n’exécutent pas le système d’exploitation Windows à l’aide du KDC Windows.

  • Le paramètre /princ n’est pas évalué par ktpass et est utilisé comme indiqué. Il n’existe aucune vérification pour voir si le paramètre correspond à la casse exacte de la valeur de l’attribut userPrincipalName lors de la génération du fichier Keytab. Les distributions Kerberos respectant la casse qui utilisent ce fichier Keytab peuvent avoir des problèmes s’il n’existe aucune correspondance exacte avec 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 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.