У меня есть конфигурация Kerberos 5 + LDAP на том же сервере.
Они оба работают хорошо (я полагаю). Kerberos отлично работает при запросе TGT.
Проблема возникает, когда я пытаюсь войти с client1 на client2 через SSH без пароля ... Он продолжает спрашивать у меня пароль, даже если у меня есть действующий TGT.
Выкладываю логи и конфиги.
client1 ssh_config:
Хост *
GSSAPIA аутентификация да
GSSAPIDelegateCredentials да
GSSAPIKeyExchange да
client2 sshd_config:
Параметры GSSAPI
GSSAPIA аутентификация да
GSSAPICleanupCredentials даПараметры Kerberos
KerberosAuthentication да
Попытка получить TGT от client1:
kinit админ
Пароль для admin@COLOR-STEMP.COM:
klist
Кеш тикетов: ФАЙЛ: / tmp / krb5cc_0
Принципал по умолчанию: admin@COLOR-STEMP.COMДействительный начиная с истекает срок действия принципала обслуживания
23.05.13 15:35:45 24.05.13 01:35:45 krbtgt/COLOR-STEMP.COM@COLOR-STEMP.COM
продлить до 24.05.13 03:35:45
Попытка ssh от client1 до client2:
Вывод оболочки Client1:
ssh admin@client2.color-stemp.com
admin@client2.color-stemp.com пароль:
Client2 / var / log / auth:
23 мая 15:39:42 CLIENT2 sshd [31486]: недействительный пользователь admin из 192.168.1.173
23 мая, 15:39:42 CLIENT2 sshd [31486]: сбой отсутствует для недопустимого администратора пользователя из 192.168.1.173 порта 38326 ssh2
Вывод оболочки Client1:
klist
Кеш билетов: ФАЙЛ: / tmp / krb5cc_0
Принципал по умолчанию: admin@COLOR-STEMP.COMДействительный начиная с истекает срок действия принципала обслуживания
23.05.13 15:35:45 24.05.13 01:35:45 krbtgt/COLOR-STEMP.COM@COLOR-STEMP.COM
продлить до 24.05.13 03:35:45
23.05.13 15:40:24 24.05.13 01:35:45 host/client2.color-stemp.com@COLOR-STEMP.COM
продлить до 24.05.13 03:35:45
Как видите, CLIENT2 ssh2 даже не пытается пройти аутентификацию на сервере Kerberos. Но Kerberos предоставляет client1 TGT для client2.
Я проверил подключение или проблемы с DNS ... Все в порядке.
Любая помощь? заранее спасибо...
ОБНОВИТЬ
@Steve: Я проверил /etc/pam.d/sshd и похоже, что там нет конфигурации kerberos ... однако это то, что у меня есть в nsswitch.conf:
#
pre_auth-client-config # passwd: compat
passwd: файлы ldap
#
pre_auth-client-config # группа: совместимость
группа: файлы ldap
#
pre_auth-client-config # тень: совместимость
тень: файлы ldap
С помощью команды pam-auth-update я также выбрал аутентификацию Kerberos.
Спасибо...
client2 не имеет учетной записи с именем admin, поэтому все попытки аутентификации для этой несуществующей учетной записи завершатся ошибкой. sshd
не будет беспокоиться о выполнении GSSAPI для учетной записи, которая не выходит.
Если предполагается, что эта учетная запись существует локально, вам необходимо создать ее с помощью useradd
. Если он существует в LDAP, убедитесь, что вы nss-ldap
/nss-ldapd
правильно настроен (обычно /etc/ldap.conf
).