Я пытаюсь получить условную комбинацию двухфакторной аутентификации для моего SSH-сервера (OpenSSH_6.7p1), но после чтения и чтения я не смог найти, как настроить то, что я думал. Я только что нашел этот пост с тем же случаем, что и я (лучше объяснил тоже), но не решен.
Я настроил метод 2FA с помощью Google Authenticator TOTP, выполнив шаги, описанные здесь.
Чего я хочу достичь при попытке войти в систему:
Если указан действительный ключ, попросите TOTP.
Если ключ не указан, запросите пароль учетной записи, а затем укажите TOTP.
Я успешно настроил другие параметры, такие как:
- Publickey + Пароль + TOTP Google Authenticator (1)
- Publickey + TOTP (2)
- Пароль + TOTP (3)
Что это значит, я изменил ChallengeResponseAuthentication
на yes
в sshd_config
. Я уже прокомментировал строку @include common-auth
в pam.d/sshd
для случая 2. Я также пробовал разные параметры для директивы AuthenticationMethods
в файле sshd_config
(случай 1,2).
Прочитав человека по SSH, я могу догадаться, что проблема в pam.d/sshd
:
UsePAM Включает интерфейс сменного модуля аутентификации. Если установлено значение "да", это включит аутентификацию PAM с использованием ChallengeResponseAuthentication и PasswordAuthentication в дополнение к обработке учетной записи PAM и модуля сеанса для всех типов аутентификации.
Поскольку аутентификация по запросу-ответу PAM обычно выполняет роль, эквивалентную аутентификации по паролю, следует отключить либо PasswordAuthentication, либо ChallengeResponseAuthentication.
Я был бы очень благодарен, если бы кто-то мог дать мне несколько советов о том, как действовать (если это возможно). Благодарю.