Versões recentes de openssh
incluem a opção AuthenticationMethods
:
Debian backported openssh-6.2
um tempo atrás , então eu espero que isso esteja disponível em Raspbian também.
Specifies the authentication methods that must be successfully completed for a user to be granted access.
Você pode ter o bloco principal do seu sshd_config
com ChallengeResponseAuthentication
ativado:
ChallengeResponseAuthentication yes
PasswordAuthentication no
PermitRootLogin no
e, em seguida, use AuthenticationMethods
nos blocos Match
(use Group
matching em vez de User
matching para facilitar a escalabilidade):
Match Group personal
AuthenticationMethods publickey
Match Group peon
PasswordAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
Além disso, você pode usar pam_succeed_if(8)
para acionar a autenticação de dois fatores somente se um grupo correspondente exige:
auth required pam_succeed_if.so quiet user ingroup peon