Ваш вопрос может быть помечен как дубликат этого, но для устранения любая оставшаяся путаница, давайте начнем с четкого утверждения: ИМИТАЦИЯ ВВОДА ИНТЕРАКТИВНОГО ПАРОЛЯ В СЦЕНАРИИ — ЭТО ЧИСТОЕ ЗЛО.
Более того, существует правильный способ автоматического создания билета Kerberos — его можно использовать, например, для аутентификации служб Linux во время загрузки.
- Шаг 0: запустите
klist -e
, чтобы получить список алгоритмов шифрования, которые были согласованы с KDC, например "aes256-cts-hmac-sha1-96" и "arcfour-hmac"
Примечание: устаревшая версия Arc4 по-прежнему разрешена во многих корпоративных каталогах Active Directory, фу!
- Шаг 1: создайте keytab-файл для вашего принципала с помощью
ktutil
(например, здесь), добавив одна запись на алгоритм шифрования
- Шаг 2: сразу после создания файла keytab ограничьте доступ к файлу с помощью
chmod
, в противном случае любой может использовать этот файл для «кражи вашего идентификатора Kerberos».
- Шаг 3: используйте
kinit -kt <path/to/keytab_file> <principal@REALM>
для аутентификации без ввода пароля
- Шаг 4: вы можете периодически запускать
kinit -R
для запроса продления билета (для этого продления не требуется пароль) — при условии, что у вас есть возобновляемый билет, срок его действия еще не истек и вы не достигли максимального предела продления < em>(см. ниже)
Дополнительное примечание: алгоритмы шифрования, используемые
kinit
, соответствуют тем, которые настроены в вашем локальном
/etc/krb5.conf
под
permitted_enctypes
и
default_tkt_enctypes
и
default_tgs_enctypes
— при условии, что сервер Kerberos (KDC) принимает эти алгоритмы.
Дополнительное примечание: срок действия билета, созданного kinit
, настроен в /etc/krb5.conf
до ticket_lifetime
-- при условии, что он не превышает лимита KDC (обычно 10 часов).
Продлеваемый срок действия составляет менее renew_lifetime
-- при условии и т. д. ( нулевой срок действия означает, что билет будет помечен как невозобновляемый)
Между прочим, если ваш Linux-компьютер использует
SSSD-аутентификацию, поддерживаемую Active Directory, вы можете активировать
автоматическое создание и обновление своего билета Kerberos с такими свойствами, как:
ldap_krb5_init_creds = True
krb5_ccname_template = FILE:/tmp/krb5cc_%U
krb5_lifetime = 86400
krb5_renewable_lifetime = 604800
krb5_renew_interval = 7200
person
Samson Scharfrichter
schedule
30.08.2016