У меня возникла ситуация, когда я пытаюсь воспользоваться переадресацией GSSAPI (Kerberos) для подключения к другому серверу Linux, который также присоединен к Windows AD и использует SSSD.
Машины Linux присоединены к домену с использованием имени машины, отличного от фактического FQDN сервера. Когда я вхожу в первую машину с учетными данными моего домена, PAM успешно срабатывает, и мне выдается действительный токен. Он отображается с klist
. Однако даже после включения входов GSSAPI и Kerberos на SSH на другом хосте Linux, также присоединенном к домену, я все еще получаю ошибку клиента «Сервер не найден в базе данных Kerberos», и он возвращается к использованию аутентификации по паролю. Я передаю данные, -K
чтобы включить пересылку токенов Kerberos.
Если мне не изменяет память, это может быть связано с проблемой SPN в AD (в данном случае на сервере Kerberos), когда машина Linux подключена с другим именем машины, нежели полное доменное имя фактической машины, к которой я подключаюсь (или с которой?), но я в этом не уверен и мне нужна помощь, чтобы направить меня в правильном направлении.
решение1
Вы можете использовать имя принципала, известное вашему контроллеру домена, передав эту GSSAPIServerIdentity
опцию вашему ssh
клиенту:
-oGSSAPIServerIdentity=host.domain.com
Из ssh_config
страницы руководства:
GSSAPIServerIdentity Если установлено, указывает идентификатор сервера GSSAPI, который ssh должен ожидать при подключении к серверу. Значение по умолчанию не установлено, что означает, что ожидаемый идентификатор сервера GSSAPI будет определяться из целевого имени хоста.