Я пытаюсь понять механизм, с помощью которого я успешно выполняю SSH-аутентификацию без пароля. Хотя аутентификация с открытым ключом включена, это не так. У меня есть открытый ключ закомментирован в моем файле authorized_keys. Кроме того, я даже не уверен, что мой авторизованный файл моего личного пользователя вступает в игру, так как мы используем реализацию LDAP FreeIPA для аутентификации.

Конфигурация SSH на стороне клиента создает впечатление, что используется аутентификация на основе хоста. Однако в конфигурации SSH на стороне сервера отключена аутентификация на основе хоста.

Ниже я предоставляю всю необходимую информацию о конфигурации.

Из приведенного ниже, кто-нибудь сможет объяснить мне, как происходит аутентификация без пароля? Если нет, какую дополнительную информацию я могу предоставить, чтобы помочь?

Заранее спасибо!

Версии программного обеспечения

CentOS: 7.3.1611

ipa-client.x86_64 4.4.0-14.el7.centos.7
ipa-client-common.noarch 4.4.0-14.el7.centos.7
ipa-common.noarch 4.4.0-14.el7.centos.7
sssd-ipa.x86_64 1.14.0-43.el7_3.18

openssh.x86_64 6.6.1p1-35.el7_3

sssd.x86_64 1.14.0-43.el7_3.18
sssd-ad.x86_64 1.14.0-43.el7_3.18
sssd-client.x86_64 1.14.0-43.el7_3.18
sssd-common.x86_64 1.14.0-43.el7_3.18
sssd-common-pac.x86_64 1.14.0-43.el7_3.18
sssd-ipa.x86_64 1.14.0-43.el7_3.18
sssd-krb5.x86_64 1.14.0-43.el7_3.18
sssd-krb5-common.x86_64 1.14.0-43.el7_3.18
sssd-ldap.x86_64 1.14.0-43.el7_3.18
sssd-proxy.x86_64 1.14.0-43.el7_3.18

Конфигурация клиента SSH

PubkeyAuthentication да
GlobalKnownHostsFile /var /lib /sss /pubconf /known_hosts
ProxyCommand /usr /bin /sss_ssh_knownhostsproxy -p% p% h

Хост *
GSSAPIAАутентификация да

Конфигурация сервера SSH

Ниже я предоставляю параметры конфигурации sshd, которые я считаю актуальными. Пожалуйста, дайте мне знать, если значение других параметров необходимо. Они были получены с помощью sshd -T, а не просто путем копирования и вставки из /etc /ssh /sshd_config. Таким образом, они должны быть тем, что действительно действует.

allowtcpforwarding да
методы аутентификации любые
санкционированные ключи /usr /bin /sss_ssh_authorizedkeys
авторизованный файл ключей .ssh /authorized_keys
вызовответаутентификация да
Gatewayports нет
gssapiauthentication да
gssapicleanupcredentials да
gssapienablek5users нет
gssapikexalgorithms gss-gex-sha1-, gss-group1-sha1-, gss-group14-sha1-
gssapikeyexchange нет
gssapistorecredentialsonrekey нет
gssapistrictacceptorcheck да
аутентификация на основе хоста нет
hostbasedusesnamefrompacketonly нет
ignoreuserknownhosts нет
kbdinteractiveauthentication да
Kerberosauthentication нет
kerberosorlocalpasswd да
kerberosticketcleanup да
керберосусекусерок да
пароль аутентификация да
разрешить любой
номер пропуска
permituserenvironment нет
публичная проверка подлинности да
строгие режимы да
не используется
уселогин нет
спам да

2 ответа2

0

Публикация комментария Xenoid в качестве ответа:

Выполните команду ssh -v {host}, и у вас будет полный список проверенных протоколов аутентификации (последний из которых использовался). - ксеноид 2 июля в 20:20

ПРИМЕЧАНИЕ: кредит из-за Xenoid

0

Из вашего списка пакетов:

sssd-ipa.x86_64 1.14.0-43.el7_3.18

sssd-krb5.x86_64 1.14.0-43.el7_3.18

Из конфигурации вашего SSH-сервера:

gssapiauthentication да

Из вашей конфигурации клиента SSH:

GSSAPIAАутентификация да

Исходя из вашей информации, я предполагаю, что вы зарегистрировали свой хост как IPA-клиент в FreeIPA и, вероятно, используете единый вход в систему Kerberos через GSSAPI.

В основном вы должны были бы выполнить kinit user@REALM.EXAMPLE.COM до входа в SSH, чтобы получить билет для предоставления билетов Kerberos (TGT), который вы можете перечислить с помощью команды klist вместе с полученными билетами на обслуживание.

Чтобы знать наверняка, было бы полезно посмотреть на вывод ssh -v как уже написали другие, и если вы добавите, какие документы / инструкции вы выполняли при настройке всего этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .