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

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

Цель: аутентификация по 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 для предоставления открытых ключей с помощью командыauthorized_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.

Есть мысли или идеи?

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

Спасибо!

0 ответов

Другие вопросы по тегам