ktpass

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Настраивает имя субъекта-сервера для узла или службы в доменные службы Active Directory (AD DS) и создает keytab-файл, содержащий общий секретный ключ службы. Файл KEYTAB основан на реализации протокола проверки подлинности Kerberos в Массачусетском технологическом институте (MIT). Программа командной строки ktpass позволяет службам, не Windows, поддерживающим проверку подлинности Kerberos, использовать функции взаимодействия, предоставляемые службой Центра распространения ключей Kerberos (KDC).

Синтаксис

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]

Параметры

Параметр Описание
/out <filename> Указывает имя создаваемого файла Kerberos версии 5 .keytab. Примечание: Это keytab-файл, который вы передаете на компьютер, который не работает под управлением Windows операционной системы, а затем замените или объедините его с существующим файлом KEYTAB /Etc/Krb5.keytab.
/princ <principalname> Указывает имя участника в узле формы/computer.contoso.com@CONTOSO.COM. Предупреждение: Этот параметр учитывает регистр.
/mapuser <useraccount> Карты имя субъекта Kerberos, указанного параметром princ, в указанную учетную запись домена.
/mapop {add|set} Указывает, как задается атрибут сопоставления.
  • Add — добавляет значение указанного имени локального пользователя. Это значение по умолчанию.
  • Set — задает значение для шифрования только для шифрования данных (DES) для указанного имени локального пользователя.
{-|+}десонно Шифрование только des задается по умолчанию.
  • + Задает учетную запись для шифрования только des.
  • - Освобождает ограничение для учетной записи для шифрования только des. Важно: Windows по умолчанию не поддерживает DES.
/in <filename> Указывает файл KEYTAB для чтения с главного компьютера, на котором не выполняется операционная система Windows.
/pass {password|*|{-|+}rndpass} Задает пароль для имени основного пользователя, указанного параметром princ . Используется * для запроса пароля.
/minpass Задает минимальную длину случайного пароля 15 символов.
/maxpass Задает максимальную длину случайного пароля 256 символов.
/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} Указывает ключи, созданные в файле keytab:
  • DES-CBC-CRC — используется для обеспечения совместимости.
  • DES-CBC-MD5 — более тесно соответствует реализации MIT и используется для обеспечения совместимости.
  • RC4-HMAC-NT — использует 128-разрядное шифрование.
  • AES256-SHA1 — использует шифрование AES256-CTS-HMAC-SHA1-96.
  • AES128-SHA1 — использует шифрование AES128-CTS-HMAC-SHA1-96.
  • All — указывает, что можно использовать все поддерживаемые типы шифрования.

Примечание: Так как параметры по умолчанию основаны на старых версиях MIT, всегда следует использовать /crypto параметр.

/itercount Указывает число итераций, используемое для шифрования AES. Значение по умолчанию игнорирует итерсчет для шифрования, отличного от AES, и устанавливает для шифрования AES значение 4096.
/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST} Указывает тип субъекта.
  • KRB5_NT_PRINCIPAL — общий тип субъекта (рекомендуется).
  • KRB5_NT_SRV_INST — экземпляр пользовательской службы
  • KRB5_NT_SRV_HST — экземпляр службы узла
/kvno <keyversionnum> Указывает номер версии ключа. Значение по умолчанию — 1.
/answer {-|+} Задает режим фонового ответа:
  • - Ответы автоматически сбрасывают запросы на сброс пароля с помощью NO.
  • + Ответы автоматически сбрасывают запросы на сброс пароля с помощью да.
/target Задает используемый контроллер домена. По умолчанию определяется контроллер домена на основе имени участника. Если имя контроллера домена не разрешается, в диалоговом окне появится запрос на ввод допустимого контроллера домена.
/rawsalt заставляет ktpass использовать алгоритм rawsalt при создании ключа. Этот параметр является необязательным.
{-|+}dumpsalt В выходных данных этого параметра показан алгоритм соли MIT, используемый для создания ключа.
{-|+}setupn Задает имя участника-пользователя (UPN) в дополнение к имени субъекта-службы (SPN). Значение по умолчанию — задать оба значения в файле KEYTAB.
{-|+}setpass <password> Задает пароль пользователя при указании. Если используется rndpass, создается случайный пароль.
/? Отображает справку для этой команды.

Комментарии

  • Службы, работающие в системах, не работающих под управлением операционной системы Windows, можно настроить с помощью учетных записей экземпляров служб в AD DS. Это позволяет любому клиенту Kerberos проходить проверку подлинности в службах, не работающих под управлением операционной системы Windows, с помощью Windows KDCs.

  • Параметр /princ не вычисляется с помощью ktpass и используется в качестве предоставленного. Нет проверки, соответствует ли параметр точному регистру значения атрибута userPrincipalName при создании файла Keytab. В дистрибутивах Kerberos с учетом регистра, использующих этот файл Keytab, могут возникнуть проблемы при отсутствии точного соответствия регистра и даже может завершиться сбоем во время предварительной проверки подлинности. Чтобы проверить и получить правильное значение атрибута userPrincipalName из файла экспорта LDifDE. Пример:

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

Примеры

Чтобы создать файл Kerberos .keytab для главного компьютера, на котором не запущена операционная система Windows, необходимо сопоставить субъект с учетной записью и задать пароль участника узла.

  1. Используйте оснастку "Пользователь и компьютеры Active Directory", чтобы создать учетную запись пользователя для службы на компьютере, на котором не запущена операционная система Windows. Например, создайте учетную запись с именем User1.

  2. Используйте команду ktpass , чтобы настроить сопоставление удостоверений для учетной записи пользователя, введя следующую команду:

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

    Примечание

    Невозможно сопоставить несколько экземпляров служб с одной учетной записью пользователя.

  3. Объедините файл KEYTAB с файлом /Etc/Krb5.keytab на главном компьютере, на котором не запущена операционная система Windows.

Дополнительные ссылки