Как автоматизировать процесс kinit для получения TGT для Kerberos?

10

В настоящее время я пишу модуль puppet для автоматизации процесса присоединения серверов RHEL к домену AD с поддержкой Kerberos.

В настоящее время у меня есть проблемы с автоматическим получением и кэшированием билета выдачи билетов Kerberos через kinit. Если бы это было сделано вручную, я бы сделал это:

kinit aduser@REALM.COM

Это запрашивает пароль пользователя AD, следовательно, существует проблема с автоматизацией этого.

Как я могу автоматизировать это? Я нашел несколько постов, в которых упоминается использование kadminбазы данных с паролем пользователей AD, но мне не повезло.

tore-
источник

Ответы:

18

Глупый, вы можете просто использовать следующую команду:

echo "password" | kinit aduser@REALM
tore-
источник
1
echo -n "$PASS" | kinit "$USER"не выводить завершающий символ новой строки
Dejan
14
Или распечатайте плакат со своим паролем и вывесите его! Хранить ваш пароль в виде обычного текста нет-нет
Гавнар
17

Хотя вы можете просто ввести пароль в свою автоматизацию, более правильный способ Kerberos - создать таблицу ключей для принципала, а затем использовать ее для аутентификации. kinitподдерживает аутентификацию из таблицы ключей с помощью -k -t <keytab-path>параметров.

Основное преимущество таблицы ключей заключается в том, что она изолирует учетные данные в отдельном файле и может использоваться непосредственно различным программным обеспечением Kerberos (поэтому вам не нужно добавлять код для чтения пароля из отдельного файла). Он также может быть создан с помощью стандартных команд (с использованием AD KDC ktpass). Есть и другие преимущества, если у вас есть Linux KDC, например, легко рандомизировать ключи, хранящиеся в таблице ключей, вместо использования более слабого пароля.

АСР
источник
1
Keytab определенно, кажется, путь. Если вы генерируете это в kadmin, обязательно используйте -norandkeyфлаг в ktadd, если вы не хотите аннулировать существующий пароль.
Деннис Джаэруддин
1

Согласно справочной странице вы можете использовать:

kinit --password-file="~/my.secret" aduser@REALM.COM

Таким образом, вы можете просто указать свой пароль в файле.

Нико Стокигт
источник
это работает в Windows?
Индранил Гайен