Назад | Перейти на главную страницу

Комбинация аутентификации по SSH-ключу и двухфакторной аутентификации

Мне было интересно, можно ли сделать следующее одновременно:

Используя Match блокировать в sshd_config Я смог настроить это так, чтобы в целом PasswordAuthentication был отключен, за исключением непривилегированного пользователя (назовем его peon). Ключи SSH требовались для входа в систему под личным пользователем (у которого есть возможности sudo).

Однако, когда я пытаюсь включить двухфакторную аутентификацию (pam_google_authenticator) Мне нужно включить ChallengeResponseAuthentication что кажется не работать в Match block, и поэтому снова включает аутентификацию по паролю для всех.

Есть ли способ добиться этого? Я не слишком хорошо разбираюсь в таких вещах, поэтому я буду благодарен за подробные объяснения.

Спасибо!

Последние версии openssh включить AuthenticationMethods вариант:

Backported Debian openssh-6.2 Некоторое время назад, поэтому я ожидаю, что это будет доступно и в Raspbian.

Задает методы проверки подлинности, которые должны быть успешно выполнены, чтобы пользователю был предоставлен доступ.

У вас может быть основной блок вашего sshd_config с участием ChallengeResponseAuthentication включен:

ChallengeResponseAuthentication yes
PasswordAuthentication no
PermitRootLogin no

а затем используйте AuthenticationMethods в твоем Match блоки (используйте Group соответствие вместо User сопоставление для облегчения масштабируемости):

Match Group personal
  AuthenticationMethods publickey

Match Group peon
  PasswordAuthentication yes
  AuthenticationMethods publickey,keyboard-interactive

Кроме того, вы можете использовать pam_succeed_if(8) для запуска двухфакторной аутентификации, только если этого требует соответствующая группа:

 auth required pam_succeed_if.so quiet user ingroup peon