ktpass

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Configura il nome dell'entità server per l'host o il servizio in servizi di dominio Active Directory (AD DS) e genera un file .keytab che contiene la chiave segreta condivisa del servizio. Il file KEYTAB è basato sull'implementazione del protocollo di autenticazione Kerberos del Massachusetts Institute of Technology (MIT). Lo strumento riga di comando ktpass consente ai servizi non Windows che supportano l'autenticazione Kerberos di utilizzare le funzionalità di interoperabilità fornite dal servizio Centro distribuzione chiavi (KDC) di Kerberos.

Sintassi

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]

Parametri

Parametro Descrizione
/out <filename> Specifica il nome del file Kerberos versione 5 .keytab da generare. Nota: questo è il file .keytab che l'utente trasferisce su un computer che non esegue il sistema operativo Windows, quindi sostituisce o si unisce al file .keytab esistente, /Etc/Krb5.keytab.
/princ <principalname> Specifica il nome principale nel modulo host/computer.contoso.com@CONTOSO.COM. Avviso: questo parametro fa distinzione tra maiuscole e minuscole.
/mapuser <useraccount> Mappa il nome dell'entità di Kerberos, è possibile il princ parametro per l'account di dominio specificato.
/mapop {add|set} Specifica come viene impostato l'attributo di mapping.
  • Add: aggiunge il valore del nome utente locale specificato. Si tratta dell'impostazione predefinita.
  • Set: imposta il valore di Data Encryption Standard (DES)-solo la crittografia per il nome utente locale specificato.
{-|+}desonly La crittografia DES-only viene impostata per impostazione predefinita.
  • + Imposta un account per la crittografia DES-only.
  • - Rilascia restrizione su un account per la crittografia DES-only. Importante: Windows non supporta DES per impostazione predefinita.
/in <filename> Specifica il file .keytab per leggere da un computer host che non è in esecuzione il sistema operativo Windows.
/pass {password|*|{-|+}rndpass} Specifica una password per il nome dell'entità utente specificato per il princ parametro. Utilizzare * per richiedere una password.
/minpass Imposta la lunghezza minima della password casuali a 15 caratteri.
/maxpass Imposta la lunghezza massima della password casuali a 256 caratteri.
/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} Specifica le chiavi che vengono generate nel file keytab:
  • DES-CBC-CRC: utilizzato per la compatibilità.
  • DES-CBC-MD5: aderisce più da vicino all'implementazione MIT e viene utilizzato per la compatibilità.
  • RC4-HMAC-NT: utilizza la crittografia a 128 bit.
  • SHA1 AES256: utilizza la crittografia AES256-CTS-HMAC-SHA1-96.
  • SHA1 AES128: utilizza la crittografia AES128-CTS-HMAC-SHA1-96.
  • Tutti: stabilisce che tutti i tipi di crittografia supportati possono essere utilizzati.

Nota: poiché le impostazioni predefinite si basano sulle versioni precedenti di MIT, è consigliabile usare sempre il parametro /crypto.

/itercount Specifica il conteggio delle iterazioni che viene utilizzato per la crittografia AES. L'impostazione predefinita ignora itercount per la crittografia non AES e imposta la crittografia AES su 4,096.
/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST} Specifica il tipo di entità.
  • KRB5_NT_PRINCIPAL: il tipo principale generico (consigliato).
  • KRB5_NT_SRV_INST: l'istanza del servizio utente
  • KRB5_NT_SRV_HST: l'istanza del servizio host
/kvno <keyversionnum> Specifica il numero di versione della chiave. Il valore predefinito è 1.
/answer {-|+} Imposta la modalità di risposta in background:
  • - Risposte per reimpostare la richiesta della password automaticamente con NO.
  • + Risposte per reimpostare la richiesta della password automaticamente con .
/target Imposta il controller di dominio da utilizzare. Il valore predefinito è per il controller di dominio essere rilevato, in base al nome dell'entità. Se il nome del controller di dominio non viene risolto, verrà visualizzata una finestra di dialogo in cui verrà richiesto un controller di dominio valido.
/rawsalt forza ktpass a utilizzare l'algoritmo rawsalt durante la generazione della chiave. Il parametro è facoltativo.
{-|+}dumpsalt L'output di questo parametro indica l'algoritmo salt MIT utilizzato per generare la chiave.
{-|+}setupn Imposta il nome dell'entità utente (UPN) oltre al nome dell'entità servizio (SPN). Per impostazione predefinita viene impostato nel file .keytab.
{-|+}setpass <password> Imposta la password dell'utente quando fornito. Se si utilizza rndpass, viene generata invece una password casuale.
/? Visualizza la Guida per questo comando.

Osservazioni:

  • I servizi in esecuzione in sistemi che non eseguono il sistema operativo Windows possono essere configurati con account di istanza del servizio in Servizi di dominio Active Directory. In questo modo qualsiasi client Kerberos per l'autenticazione ai servizi che non eseguono il sistema operativo Windows mediante Windows KDC.

  • Il parametro /princ non viene valutato da ktpass e viene usato come fornito. Non è possibile verificare se il parametro corrisponde al caso esatto del valore dell'attributo userPrincipalName durante la generazione del file Keytab. Le distribuzioni Kerberos con distinzione tra maiuscole e minuscole che utilizzano questo file Keytab potrebbero avere problemi se non esiste una corrispondenza esatta tra maiuscole e minuscole e potrebbero anche non riuscire durante la pre-autenticazione. Per controllare e recuperare il valore corretto dell'attributo userPrincipalName da un file di esportazione LDifDE. Ad esempio:

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

Esempi

Per creare un file Kerberos .keytab per un computer host che non esegue il sistema operativo Windows, è necessario eseguire la mappatura del principale all'account e impostare la password dell'entità host.

  1. Utilizzare lo snap-in Active Directory Utente e computer per creare un account utente per un servizio in un computer che non esegue il sistema operativo Windows. Ad esempio, creare un account con il nome User1.

  2. Utilizzare il comando ktpass per impostare una mappatura dell'identità per l'account utente digitando:

    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

    È Impossibile eseguire il mapping di più istanze del servizio per lo stesso account utente.

  3. Unire il file .keytab con il file /Etc/Krb5.keytab su un computer host che non esegue il sistema operativo Windows.