Рейтинг:0

SSHD продолжает запрашивать пароль пользователя, даже если он был настроен с открытым ключом, интерактивной клавиатурой.

флаг us

Я пытаюсь настроить sshd на экземпляре VPS и хотел бы, чтобы аутентификация была с открытым ключом, интерактивная клавиатура (открытый ключ И интерактивная клавиатура).

Проблема в том, что сервер продолжает запрашивать пароль serveruser при входе в систему после того, как открытый ключ был отправлен и принят. Он должен запрашивать только код 2FA. Я могу войти в систему, используя открытый ключ, пароль пользователя сервера и код 2FA.

У меня есть две другие похожие установки, которые отлично работают, но я помню, что у меня были проблемы с их настройкой, такие как использование черной магии в причудливых файлах конфигурации.

Я провел бесчисленное количество часов, пытаясь настроить sshd таким образом на других хостах, и теперь, похоже, мне это не удалось.

Я также пытался сравнить журналы клиента и сервера на рабочей установке и на этом, но журналы одинаковы! (Кроме IP-адресов, портов и отпечатков пальцев)

Журнал клиента SSH: https://pastebin.com/P1xsKTwm

/etc/ssh/sshd_config сервера: https://pastebin.com/qSH7GAmR

/etc/pam.d/sshd сервера: https://pastebin.com/YBKY91Rk

(sshd был перезапущен с помощью sudo systemctl перезапустить sshd.service)

РЕДАКТИРОВАТЬ: интерактивная клавиатура предназначена не только для 2FA

Прочитайте комментарии в ответе mforsetti ниже, я не понял, что интерактивная клавиатура предназначена не только для 2FA.

Хитрость заключалась в том, чтобы отредактировать /etc/pam.d/sshd файл для отключения аутентификации по паролю (объяснено в сообщении mforsetti и комментариях ниже)

Рейтинг:1
флаг tz

Проблема в том, что сервер продолжает запрашивать пароль serveruser при входе в систему после того, как открытый ключ был отправлен и принят.

ну вы специально просили.

Методы аутентификации с открытым ключом, интерактивной клавиатурой

Цитирование sshd_config руководство,

Методы аутентификации

Указывает методы проверки подлинности, которые должны быть успешно выполнены, чтобы пользователю был предоставлен доступ. ... по одной строке Любые чтобы указать поведение по умолчанию для принятия любого отдельного метода аутентификации...

... Например, "publickey,password publickey,keyboard-interactive" потребует от пользователя пройти аутентификацию с открытым ключом, за которой следует либо пароль, либо интерактивная аутентификация с помощью клавиатуры. ...

Итак, добавление Методы аутентификации с открытым ключом, интерактивной клавиатурой на ваш sshd_config, означает, что вы ожидаете получить открытый ключ аутентификация завершена сначала, затем клавиатурно-интерактивный аутентификация завершена далее.

Если вы ожидаете аутентификации только с помощью открытый ключ, наверное менять

Методы аутентификации с открытым ключом, интерактивной клавиатурой

к

Публичный ключ AuthenticationMethods

или, если вы включаете какие-либо другие методы аутентификации и ожидаете, что любой успешный метод аутентификации будет одобрен, вы можете использовать

Методы аутентификации любые

Я хочу аутентифицироваться как с открытым ключом, так и с 2FA

Вы можете отключить общая авторизация из конфигураций PAM, как и в большинстве дистрибутивов Linux/Unix, общая авторизация включает в себя pam-unix.so или же pam-unix2.so который требует пароль учетной записи.

флаг us
Спасибо за ответ! :D Возможно, я не совсем ясно выразился выше, я хочу аутентифицироваться как с открытым ключом, так и с 2FA, но не с паролем пользователя сервера. Чего я не понимаю, так это того, что интерактивная клавиатура продолжает запрашивать у меня пароль пользователя сервера; это не должно быть правильно, это только 2FA?
mforsetti avatar
флаг tz
`keyboard-interactive` — универсальный ключ для взаимодействия с клавиатурой, включая пароль, PAM, Kerberos и т. д. попробуйте использовать `AuthenticationMethods publickey,keyboard-interactive:pam`, если вы используете PAM для настройки 2FA. .
mforsetti avatar
флаг tz
Вы прокомментировали `@include common-auth` в `/etc/pam.d/sshd`?
флаг us
Ооо... Я думал, что интерактивная клавиатура предназначена только для двухфакторной аутентификации... Комментирование строки сделало именно то, что я хотел сделать, большое спасибо!
mforsetti avatar
флаг tz
добавлена ​​информация о `common-auth` в ответ.
флаг us
отличный! :D Большое спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.