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

Kerberos и локальный хост

У меня есть сервер Kerberos v5, настроенный на машине Linux, и он очень хорошо работает при подключении к другим хостам (с использованием samba, ldap или ssh), для которых в моей базе данных kerberos есть участники.

Могу ли я использовать Kerberos для аутентификации на localhost? И если я могу, по каким причинам я не должен этого делать? Я не делал принципала Kerberos для localhost. Я не думаю, что должен; вместо этого я думаю, что принципал должен разрешить машину полностью hostname. Это возможно?

В идеале мне нужен способ настроить это только на одном сервере (будь то Kerberos, DNS или ssh), но если каждой машине нужна какая-то настраиваемая конфигурация, это тоже сработает.

например $ ssh -v localhost

...
debug1: Unspecified GSS failure.  Minor code may provide more information
Server host/localhost@EXAMPLE.COM not found in Kerberos database
...

РЕДАКТИРОВАТЬ:

Итак, у меня был плохой файл / etc / hosts. Если я правильно помню, исходная версия, которую я получил с Ubuntu, содержала две версии 127.0.0.1. IP-адреса, например: -

127.0.0.1 localhost
127.0.*1*.1 hostname

Без уважительной причины я давно сменил свой на:

127.0.0.1    localhost
127.0.*0*.1    hostname.example.com hostname

Казалось, что это отлично работает со всем, пока я не опробовал ssh с kerberos (недавняя попытка). Каким-то образом эта конфигурация привела к тому, что sshd разрешил принципалу kerberos машины на "host / localhost @ \ n", что, как я полагаю, имеет смысл, если он использует / etc / hosts для прямого и обратного поиска DNS вместо внешнего DNS. Итак, я закомментировал последнюю строку, и sshd волшебным образом начал аутентификацию с помощью gssapi-with-mic. Потрясающие. (Затем я исследовал localhost и задал вопрос)

Вы можете, используя канонизацию имени.

Изменить /etc/hosts так что это похоже на:

127.0.0.1  hostname.domain.tld hostname localhost
::1        hostname.domain.tld hostname localhost

Таким образом, localhost -> 127.0.0.1 -> hostname.domain.tld, для которого на сервере есть запись keytab.

Вам придется делать это на каждом сервере.