Возможно ли иметь несколько настроек двухфакторной аутентификации и предоставить пользователю выбор, который использовать при входе в систему?
у меня есть google-authenticator
настроить. Я успешно использовал свой ключ yubiko в качестве второго фактора. Я хотел бы иметь выбор, что использовать при входе в систему, чтобы я мог использовать то, что более удобно, или использовать один в качестве метода резервного копирования.
Насколько мне известно, не существует стандарта / метода, который позволял бы пользователю выбирать, какой MFA он хочет использовать для входа в систему из командной строки во время входа в систему. (Но вы всегда можете написать свой собственный модуль PAM для этого ... #CurrentTeam сделал это, но не опубликовал его в открытом доступе.)
Не самый прозрачный для конечных пользователей, но кое-что, что вы можете сделать со стандартными инструментами, - это использовать Цепочка PAM чтобы настроить резервный метод.
Установите модуль Yubico PAM как sufficient
и когда вы передадите действующий одноразовый пароль (OTP), вам будет предоставлен доступ.
Если то, что вы ввели, не подтверждается как правильный OTP Yubikey, тогда аутентификация перейдет к следующему разрешенному методу, модулю Google-Authenticator PAM.
Этот модуль PAM должен быть установлен на required
.
Если после того, как вы не смогли ввести действительный OTP Yubibey, введите действительный код Google Authenticator, вам будет предоставлен доступ, в противном случае ваша аутентификация будет отклонена.
Это должно быть похоже на добавление следующего:
auth sufficient pam_yubico.so id=16 debug authfile=/path/to/mapping/file
auth required pam_google_authenticator.so