ktpass

Gilt für: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Konfiguriert den Prinzipalnamen des Servers für den Host oder Dienst in Active Directory Domain Services (AD DS) und generiert eine Schlüsseltabellendatei (.keytab), die den freigegebenen geheimen Schlüssel des Diensts enthält. Die KEYTAB-Datei basiert auf der Massachusetts Institute of Technology (MIT)-Implementierung des Kerberos-Authentifizierungsprotokolls. Mit dem Befehlszeilentool „ktpass“ können nicht auf Windows basierende Dienste, die Kerberos-Authentifizierung unterstützen, die vom Kerberos-Schlüsselverteilungscenter (Key Distribution Center, KDC)-Dienst bereitgestellten Interoperabilitätsfunktionen verwenden.

Syntax

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]

Parameter

Parameter BESCHREIBUNG
/out <filename> Gibt den Namen der zu generierenden Schlüsseltabellendatei (.keytab) von Kerberos Version 5 an. Hinweis: Dies ist die Schlüsseltabellendatei (.keytab), die Sie auf einen Computer übertragen, auf dem nicht das Windows-Betriebssystem ausgeführt wird, und führen Sie dann mit Ihrer vorhandenen Schlüsseltabellendatei /Etc/Krb5.keytab zusammen oder ersetzen Sie sie.
/princ <principalname> Gibt den Prinzipalnamen im Format host/computer.contoso.com@CONTOSO.COM an. Warnung: Bei diesem Parameter wird die Groß-/Kleinschreibung beachtet.
/mapuser <useraccount> Ordnet den Namen des Kerberos-Prinzipals, der durch den Parameter princ angegeben wird, dem angegebenen Domänenkonto zu.
/mapop {add|set} Gibt an, wie das Zuordnungsattribut festgelegt wird.
  • Add: Fügt den Wert des angegebenen Namens des lokalen Benutzers hinzu. Dies ist die Standardeinstellung.
  • Set: Legt den Wert für die reine DES (Data Encryption Standard)-Verschlüsselung für den angegebenen Namen des lokalen Benutzers fest.
{-|+}desonly Standardmäßig ist die reine DES-Verschlüsselung festgelegt.
  • + Legt ein Konto für die reine DES-Verschlüsselung fest.
  • - Gibt die Einschränkung für ein Konto für die reine DES-Verschlüsselung frei. Wichtig: Windows unterstützt DES standardmäßig nicht.
/in <filename> Gibt die Schlüsseltabellendatei (.keytab) an, die von einem Hostcomputer gelesen werden soll, auf dem nicht das Windows-Betriebssystem ausgeführt wird.
/pass {password|*|{-|+}rndpass} Gibt ein Kennwort für den Namen des Prinzipalbenutzers an, der vom Parameter princ angegeben wird. Verwenden Sie *, um zur Eingabe eines Kennworts aufzufordern.
/minpass Legt die Mindestlänge des zufälligen Kennworts auf 15 Zeichen fest.
/maxpass Legt die Maximallänge des zufälligen Kennworts auf 256 Zeichen fest.
/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} Gibt die Schlüssel an, die in der Schlüsseltabellendatei generiert werden:
  • DES-CBC-CRC: Wird aus Kompatibilitätsgründen verwendet.
  • DES-CBC-MD5: Hält sich mehr an die MIT-Implementierung und wird aus Kompatibilitätsgründen verwendet.
  • RC4-HMAC-NT: Verwendet eine 128-Bit-Verschlüsselung.
  • AES256-SHA1: Verwendet die AES256-CTS-HMAC-SHA1-96-Verschlüsselung.
  • AES128-SHA1: Verwendet die AES128-CTS-HMAC-SHA1-96-Verschlüsselung.
  • All: Gibt an, dass alle unterstützten Kryptografietypen verwendet werden können.

Hinweis: Da die Standardeinstellungen auf älteren MIT-Versionen basieren, sollten Sie immer den Parameter /crypto verwenden.

/itercount Gibt die Iterationsanzahl an, die für die AES-Verschlüsselung verwendet wird. Die Standardeinstellung ignoriert itercount für die Nicht-AES-Verschlüsselung und legt die AES-Verschlüsselung auf 4.096 fest.
/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST} Gibt den Prinzipaltyp an.
  • KRB5_NT_PRINCIPAL: Der allgemeine Prinzipaltyp (empfohlen).
  • KRB5_NT_SRV_INST: Die Benutzerdienstinstanz
  • KRB5_NT_SRV_HST: Die Hostdienstinstanz
/kvno <keyversionnum> Gibt die Schlüsselversionsnummer an. Der Standardwert ist 1.
/answer {-|+} Legt den Hintergrundantwortmodus fest:
  • - Antworten setzen Kennwortaufforderungen automatisch mit NEIN zurück.
  • + Antworten setzen Kennwortaufforderungen automatisch mit JA zurück.
/target Legt fest, welcher Domänencontroller verwendet werden soll. Standardmäßig wird der Domänencontroller basierend auf dem Prinzipalnamen erkannt. Wenn der Domänencontrollername nicht aufgelöst wird, wird ein Dialogfeld mit Eingabeaufforderung eines gültigen Domänencontrollers geöffnet.
/rawsalt erzwingt, dass „ktpass“ beim Generieren des Schlüssels den Rawsalt-Algorithmus verwendet. Dieser Parameter ist optional.
{-|+}dumpsalt Die Ausgabe dieses Parameters zeigt den MIT-Salt-Algorithmus, der zum Generieren des Schlüssels verwendet wird.
{-|+}setupn Legt zusätzlich zum Dienstprinzipalnamen (Service Principal Name, SPN) den Benutzerprinzipalnamen (User Principal Name, UPN) fest. Standardmäßig wird beides in der Schlüsseltabellendatei (.keytab) festgelegt.
{-|+}setpass <password> Legt das Kennwort des Benutzers fest, wenn es angegeben wird. Wenn „rndpass“ verwendet wird, wird stattdessen ein zufälliges Kennwort generiert.
/? Zeigt die Hilfe für diesen Befehl an.

Hinweise

  • Dienste, die auf Systemen ausgeführt werden, auf denen das Windows-Betriebssystem nicht ausgeführt wird, können mit Dienstinstanzkonten in AD DS konfiguriert werden. Dadurch kann sich jeder Kerberos-Client mithilfe von Windows-KDCs bei Diensten authentifizieren, auf denen das Windows-Betriebssystem nicht ausgeführt wird.

  • Der Parameter /princ wird von „ktpass“ nicht ausgewertet und wird wie angegeben verwendet. Es wird nicht überprüft, ob der Parameter beim Generieren der Schlüsseltabellendatei mit der genauen Groß-/Kleinschreibung des userPrincipalName-Attributwerts übereinstimmt. Bei Kerberos-Verteilungen, bei denen die Groß- und Kleinschreibung beachtet wird und bei denen diese Schlüsseltabellendatei verwendet wird, kann es zu Problemen kommen, wenn keine genaue Übereinstimmung bezüglich Groß- und Kleinschreibung vorliegt, und es kann sogar während der Vorauthentifizierung zum Fehlschlagen führen. Zum Überprüfen und Abrufen des richtigen -Attributwerts von userPrincipalName aus einer LDifDE-Exportdatei. Beispiel:

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

Beispiele

Um eine Kerberos-Schlüsseltabellendatei (.keytab) für einen Hostcomputer zu erstellen, auf dem nicht das Windows-Betriebssystem ausgeführt wird, müssen Sie den Prinzipal dem Konto zuordnen und das Hostprinzipalkennwort festlegen.

  1. Verwenden Sie das Active Directory-Snap-In Benutzer und Computer, um ein Benutzerkonto für einen Dienst auf einem Computer zu erstellen, auf dem nicht das Windows-Betriebssystem ausgeführt wird. Erstellen Sie beispielsweise ein Konto mit dem Namen User1.

  2. Verwenden Sie den Befehl ktpass, um eine Identitätszuordnung für das Benutzerkonto einzurichten, indem Sie Folgendes eingeben:

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

    Hinweis

    Sie können demselben Benutzerkonto nicht mehrere Dienstinstanzen zuordnen.

  3. Führen Sie die Schlüsseltabellendatei (.keytab) mit der Datei /Etc/Krb5.keytab auf einem Hostcomputer zusammen, auf dem nicht das Windows-Betriebssystem ausgeführt wird.