Рейтинг:0

Использование ssh с sssd для пароля или открытого ключа и расширение поддержки MFA через PAM

флаг si

Итак, после обширного тестирования и обсуждения я больше не могу самостоятельно решать эту проблему.

Цель: Аутентификация через ssh с открытым ключом или паролем и использование PAM для MFA.

Используемая система — Ubuntu Server 20.04.

Разделение этого на управляемые части также показало некоторые трудности с объединением разных частей.

Аутентификация с открытым ключом и использование PAM для MFA не проблема. Аутентификация по паролю и использование PAM для MFA не проблема. Использование публичного ключа или пароля немного отличается. Сочетание с МФА кажется невозможным.

Проблема, похоже, заключается в том, как SSHD аутентифицирует пользователя с помощью пароля.SSHD не может сделать это без PAM, так как пользовательский теневой файл не читается без PAM. Включение PAM и активация pam_env.so и pam_sssd.so для стека аутентификации решает эту проблему.

Таким образом, используя PAM, я могу аутентифицироваться либо с помощью открытого ключа, либо с помощью пароля. Чего я не понимаю, так это почему SSHD нужен теневой файл пользователя для аутентификации по паролю, а не для открытого ключа? Я по-прежнему получаю свои группы и все остальное, используя открытый ключ, без PAM и используя SSSD для предоставления открытых ключей с помощью команды author_keys.

Для аутентификации с использованием пароля мне нужен соответствующий модуль pam в стеке авторизации.

Это не будет большой проблемой, но цель состоит в том, чтобы включить MFA и не запрашивать у пользователя пароль, если он не нужен. MFA необходимо реализовать с помощью PAM. Использование PAM вместе с открытыми ключами не является проблемой, установка метода «publickey,keyboard-interactive» в sshd_config передает это в PAM, а настройка модуля PAM после pam_env.so для MFA позволяет это сделать.

Но для включения методов «пароль, интерактивная клавиатура» требуется модуль pam_sss.so, поэтому мне будет предложено ввести пароль, даже если я использую метод с открытым ключом, а затем будет предложено ввести MFA.

Как мне решить эту проблему, чтобы я мог аутентифицироваться через ssh с паролем от sssd или открытым ключом от sssd? И следующий шаг, PAM является требованием или нет для пароля (предпочтительно нет), в любом случае, как реализовать MFA?

Поскольку это все еще крутится у меня в голове, я уверен, что могу объяснить вещи лучше, но сделал все возможное, чтобы объяснить свои трудности.

Вещи, которые я прочитал, это sssd, pam_ssh, pam_sssd, pam_ssh_agent_auth, sshd. Также прочитайте документацию для DUO, Google MFA, RedHat.

Любые мысли или идеи?

Любая обратная связь будет принята с благодарностью.

Спасибо!

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

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