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

Active Directory Kerberos keytab невозможно использовать из Linux

Я настраиваю аутентификацию Kerberos для Протокол Alfresco CIFS полностью реализован на Java (проект JLAN). Это не первый раз, раньше я настраивал сразу за один кадр.

В той же сети с ActiveDirectory Windows 2008R2 и та же процедура, я уже успешно выполнил настройку для двух сред, но производственная среда доставляет мне проблемы.

Производственная keytab была создана ktpass в ActiveDirectory с RC4-HMAC как и для других сред. Счет AlfrescoCifsP предназначен для производства и только для этой услуги:

ktpass -princ cifs/myserver.mydomain.com@MYDOMAIN.COM
       -mapuser MYDOMAIN\AlfrescoCifsP -pass <password>
       -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -out c:\temp\prod.keytab

Теперь я пытаюсь использовать его на RedHat 5.8 с библиотеками MIT Kerberos и утилитами в версии 1.6.1-70-el4 и я получил следующую ошибку:

$ kinit -k -t prod.keytab cifs/myserver.mydomain.com
kinit(v5): Key table entry not found while getting initial credentials

Вот что я проверял (много раз):

Итак, сделано все, чтобы добиться успеха. Это было успешно для двух учетных записей службы и не удалось для третьей. Единственное отличие может заключаться в длине SPN, которая немного больше, чем у других, но намного меньше, чем ограничение SPN в 260 символов.

у меня есть привязанный в kinit -k -t prod.keytab cifs/... , и я только что увидел операцию чтения файла keytab сразу после вывода сообщения об ошибке в stderr.

Есть ли какая-нибудь известная проблема, соответствующая моей проблеме в аналогичной среде?

Как определить причину возникновения этой проблемы?

Каковы могут быть основные причины такой неудачи?

Что я должен попробовать в надежде найти выход?

Благодаря захвату сети администратор моего клиента обнаружил проблему соответствия, задокументированную Novell: http://www.novell.com/support/viewContent.do?externalId=7005039&sliceId=1

Я добавил следующие строки в свой krb5.conf чтобы обойти проблему с библиотеками kerberos 1.6.1:

 default_tkt_enctypes = rc4-hmac
 default_tgs_enctypes = rc4-hmac

На мой взгляд, эти строки не нужны для последних библиотек MIT Kerberos.

Во-первых, вы должны убедиться, что ваш компьютер, работающий со службами, на которые ссылаются SPN, связан доверительными отношениями с контроллером домена (сеть домена в «Центре открытых сетей и общего доступа»); когда все в порядке, снова сгенерируйте билет и выполните kinit следующим образом:

kinit -k -t prod.keytab cifs/myserver.mydomain.com@MYDOMAIN.COM

вывод: вам не хватает REALM (@ MYDOMAIN.COM)

ПРИМЕЧАНИЕ: ДЕЙСТВИТЕЛЬНО ДЛЯ WINDOWS 2008 EE X64 R2.