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