Мне было интересно, можно ли сделать следующее одновременно:
Используя 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