Вход в RX через Kerberos не сработал
Ошибка «GSSAPI operation failed» в Directum RX на Linux: не прошла проверка подлинности Kerberos при входе через Windows-учётку. Что проверить: keytab, SPN, DNS, время.
Что это значит
Сквозной вход в Directum RX под доменной учёткой идёт через Kerberos (Negotiate). Когда сервис RX работает на Linux, проверку билета делает библиотека GSSAPI. Ошибка означает, что сервис не смог проверить билет, и пользователь получает окно логина или ошибку входа.
Самые частые причины в тексте после ошибки:
- Server not found in Kerberos database: нет SPN для адреса, по которому пользователи открывают RX;
- Key version number for principal in key table is incorrect: keytab устарел после смены пароля сервисной учётки;
- No key table entry found: в keytab нет нужного принципала или файл не смонтирован;
- Clock skew too great: расходится время, см. отдельную статью.
Как проверить
- Содержимое keytab:
klist -kte /path/to/rx.keytab
- SPN сервисной учётки в домене (на Windows):
setspn -L <учётка RX>
Там должен быть HTTP/<адрес RX> ровно в том виде, в каком его вводят пользователи.
3. Адрес RX в DNS: Kerberos не любит обращение по IP и по CNAME, который разрешается не туда.
Что сделать
- Зарегистрировать SPN
HTTP/<полное имя сайта>на сервисную учётку и перевыпустить keytab. - После смены пароля учётки всегда пересоздавать keytab и обновлять его в контейнерах или на серверах.
- Синхронизировать время на серверах RX с контроллером домена.
- Пользователи должны открывать RX по полному доменному имени, на которое выпущен SPN.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать