У меня есть хост Debian Squeeze, на котором я не могу войти с помощью Kerberos без запроса пароля. Хост ubuntu 12.04 с одинаковой конфигурацией работает нормально и может войти в систему без запроса пароля.
После kinit, klist дает:
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM
Valid starting Expires Service principal
14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM
Теперь, когда я пытаюсь войти в систему через ssh в debian-squeeze, у меня появляется приглашение на ввод пароля. Если я проверяю свои билеты в этот момент без авторизации, я получаю:
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM
Valid starting Expires Service principal
14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM
14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@
14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@REALM
Так что, очевидно, я получил билет. Тем не менее, журнал отладки ssh дает:
Postponed gssapi-with-mic for boti from 192.168.255.98 port 59557 ssh2
debug3: mm_request_send entering: type 40
debug3: mm_request_receive_expect entering: type 41
debug3: mm_request_receive entering
debug3: monitor_read: checking request 40
debug1: Unspecified GSS failure. Minor code may provide more information
Wrong principal in request
Это очень похоже на то, что описано здесь , здесь и в этом отчете об ошибках .
Мой DNS в порядке. Уже пытался воссоздать принципалы / ключи. Так что не помогло ни одно из решений, которые были там размещены.
Есть намеки?
Ответы:
В примере вывода я вижу, что вы получили ключ для
debian-squeeze
имени хоста без каких-либо точек в нем. Это как бы доказывает, что вы установили обратное разрешение, чтобы указать на короткое имя. Это действительно не полное доменное имя, которое вы видите, или оно было отредактировано для вопроса?Kerberos должен работать с любым из них, но вы можете перепроверить, что сам хост считает, что он вызывается
debian-squeeze
. Убедитесь, что прямой -> обратный поиск внутриdebian-squeeze
действительно разрешаетdebian-squeeze
:На самом деле я не слышал о развертывании Kerberos с короткими именами, поэтому, если у вас есть выбор, возможно, стоит придерживаться полных доменных имен.
Обновить:
В настоящее время клиент получает ключ для короткого имени, но сервер считает, что он правильно назван с длинным именем. Скорее всего проблема есть. Просто чтобы быть уверенным, попробуйте следующее:
Проверьте прямой / обратный поиск имени от клиента. Т.е.
Возвращенное имя - это то, на которое клиент попытается получить билет. Судя по вашему выводу, это, вероятно, короткое имя.
Проверьте, какие ключи присутствуют на сервере.
В списке вы должны увидеть участника, соответствующего имени хоста из предыдущей команды. Если его там нет, тогда это твоя проблема. Если это там ...
Убедитесь, что версия ключа на сервере Kerberos такая же, как и на
debian-squeeze
. На клиенте получите ключ явно и проверьте версию «KVNO» в конце строки:В любом случае, имя хоста и версия "kvno" во всех этих командах должны совпадать.
источник
hostname
. IP-адрес возвращается к полному доменному имени, поэтому указанная вами команда возвращает debian-squeeze.realm. Как примечание: у меня есть два ключа, настроенных для этого хоста, один для fqdn и один для короткого имени. Может ли это быть испортить?Я видел эту ошибку, когда / etc / hosts на сервере включает запись для своего IP-адреса, которая не совпадает с тем, что находится в DNS или в таблице ключей. Вы дважды проверили (или удалили) все записи не-localhost из / etc / hosts?
источник