Я пытаюсь настроить 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 и комментариях ниже)