Я использую sshd и разрешаю вход в систему с аутентификацией с открытым ключом.
Я хочу разрешить избранным пользователям входить в систему с помощью модуля двухфакторной аутентификации PAM.
Могу ли я разрешить двухфакторную аутентификацию PAM для конкретного пользователя?
Точно так же - я хочу включить аутентификацию по паролю только для определенных учетных записей. Я хочу, чтобы мой SSH-демон отклонял попытки аутентификации по паролю, чтобы потенциальные хакеры не думали, что я не приму аутентификацию по паролю, за исключением случая, когда кто-то знает мою строго охраняемую секретную учетную запись, которая является пароль включен. Я хочу сделать это в тех случаях, когда мои SSH-клиенты не позволяют мне использовать секретный ключ или двухфакторную аутентификацию.
Вы могли бы справиться с этим с помощью pam_listfile
модуль. Создать /etc/pam.d/sshd
файл, который выглядит примерно так:
auth requisite pam_listfile.so item=user sense=allow file=/etc/authusers
auth sufficient pam_securid.so
auth required pam_deny.so
Это позволит только людям, перечисленным в /etc/authusers
возможность аутентификации с помощью двухфакторного модуля (в нашем случае secureid). Я на самом деле не тестировал эту конфигурацию, но теория верна.
Вы можете упростить задачу, разрешив кто угодно для аутентификации с использованием двухфакторной аутентификации; предположительно, только те люди, у которых есть соответствующие устройства / конфигурации, смогут добиться успеха, так что вы получите такое же поведение.
Используя приведенное ниже решение, модуль PAM (аутентификатор Google) можно отключить для определенных пользователей:
1) Создайте группу пользователей на экземпляре Linux. MFA / PAM будет отключен для пользователей, присутствующих в этой новой группе -
sudo groupadd <groupname>
2) Создайте пользователя или добавьте существующего пользователя во вновь созданную группу -
sudo useradd <username>
sudo usermod -a -G <groupname> <username>
3) Отредактируйте файл /etc/pam.d/sshd и добавьте приведенный ниже оператор, чтобы пропустить модуль PAM для вновь созданной группы.
auth [success=done default=ignore] pam_succeed_if.so user ingroup <groupname>
По желанию-
Если для этой новой группы требуется полный доступ, добавьте строку ниже в файл visudo:
%<groupname>ALL=(ALL) NOPASSWD: ALL
Когда пользователь будет создан и добавлен в новую группу, MFA будет пропущен для этих пользователей.
Ссылка из -Блог TechManyu
Чтобы отключить двухфакторную аутентификацию для пользователей без Google Authenticator настроен, добавьте nullok
вариант в /etc/pam.d/sshd
:
auth required pam_google_authenticator.so nullok
Подробнее см .: https://github.com/google/google-authenticator-libpam#setting-up-a-user