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

Я был бы очень благодарен, если бы кто-то мог дать мне несколько советов о том, как действовать (если это возможно). Благодарю.

0