Определение механизма аутентификации без пароля по SSH

467
Dave

Я пытаюсь понять механизм, с помощью которого я успешно выполняю 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 yes
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 да
не authenticationmethods любой
authorizedkeyscommand / USR / BIN / sss_ssh_authorizedkeys
AuthorizedKeysFile .ssh / authorized_keys
ChallengeResponseAuthentication да
GatewayPorts нет
gssapiauthentication да
gssapicleanupcredentials да
gssapienablek5users нет
gssapikexalgorithms GSS-GEX-sha1-, GSS-group1-sha1-, GSS-group14-sha1-
gssapikeyexchange нет
gssapistorecredentialsonrekey нет
gssapistrictacceptorcheck да
хост-аутентификация нет
hostbasedusesnamefrompacketonly нет
игнорируетсяuserknownhosts нет
kbdinteractiveauthentication да
kerberosauthentication нет
kerberosorlocalpasswd да
kerberosticketcleanup да
kerberosusekuserok да
пароль
аутентификация да разрешить открыть любой
разрешающий туннель нет
permituseconvironment нет
pubkeyauthentication да
строгие режимы да используется
n нет
uselogin нет
usepam да

0
Выполните `ssh -v `, и у вас будет полный список проверенных протоколов аутентификации (последний из которых использовался). xenoid 5 лет назад 3
Вы даже можете увеличить детализацию клиента, используя 'ssh -vvv user @ host' tonioc 5 лет назад 0
debug1: аутентификация прошла успешно (gssapi-with-mic). Аутентифицирован на (через прокси). Хорошо спасибо. Я не знаком с gssapi-with-mic, но, по крайней мере, теперь я знаю, о чем почитать и узнать! Dave 5 лет назад 0
Таким образом, вы можете принять ответ :) xenoid 5 лет назад 0
Я думаю, что это должно быть добавлено как ответ, а не как комментарий. Я приму, когда смогу! :) Dave 5 лет назад 0

2 ответа на вопрос

0
Dave

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

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

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

0
Michael Ströder

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

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как уже написали другие, и если вы добавите, какие документы / инструкции вы выполняли при настройке всего этого.

Похожие вопросы