De https://security.stackexchange.com/questions/17931/possible-to-use-both-private-key-and-password-authentication-for-ssh-login
Maintenant sur RHEL / CentOS 7, et tout système avec une version récente d'OpenSSH, vous pouvez utiliser :
AuthenticationMethods "publickey,password" "publickey,keyboard-interactive"
Voir aussi: https://lwn.net/Articles/544640/
Il est également important de noter que la fonctionnalité AuthenticationMethods s'applique uniquement au protocole SSH 2, et que chaque méthode d'authentification répertoriée doit également être explicitement activée dans le fichier sshd_config.
Et une excellente explication détaillée ici:
https://sysconfig.org.uk/two-factor-authentication-with-ssh.html
Match Utilisateur johndoe
AuthenticationMethods publickey,keyboard-interactive
Lire les virgules comme un ET logique. À la connexion, la paire de clés de johndoe sera vérifiée en premier et si c'est une correspondance, vous verrez ceci:
Authentifié avec un succès partiel.
Ensuite, il lui sera demandé son mot de passe. Sans s'en rendre compte, vous venez de mettre en place MFA. Votre paire de clés étant ce que vous avez, le mot de passe du compte étant ce que vous connaissez. C'est peut-être la manière la plus simple de mettre en place MFA avec SSH, et déjà mieux que l'authentification à facteur unique.