Назад | Перейти на главную страницу

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

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

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

kinit aduser@REALM.COM

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

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

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

echo "password" | kinit aduser@REALM

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

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

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

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

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