Определение механизма аутентификации без пароля по SSH
Я пытаюсь понять механизм, с помощью которого я успешно выполняю SSH-аутентификацию без пароля. Хотя аутентификация с открытым ключом включена, это не так. Мой открытый ключ закомментирован в моем файле author_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 / авторизованный ключ
вызовответаутентификация да
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 ответа
Публикация комментария Xenoid в качестве ответа:
Выполните команду ssh -v {host}, и у вас будет полный список проверенных протоколов аутентификации (последний из которых использовался). - ксеноид 2 июля в 20:20
ПРИМЕЧАНИЕ: кредит из-за Xenoid
Из списка ваших пакетов:
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
как уже писали другие, и если вы добавите какие документы / как вы следовали при настройке всего этого.