Vous devez configurer un gatekeeper SSH. Cela permet à openssh d'autoriser l'authentification multifactorielle.
Voici un excellent lien : https://calomel.org/openssh.html
Essentiellement, vous utilisez la directive ForceCommand pour exécuter un script lorsque l'utilisateur se connecte. Ce script demande alors à l'utilisateur son mot de passe. Je suis actuellement à la recherche d'une méthode pour vérifier un mot de passe donné par rapport au mot de passe du système, mais je n'arrive à rien (ce qui est compréhensible).
Si le compte utilisateur est stocké dans un annuaire LDAP, vous pouvez essayer de vous lier à l'annuaire en utilisant ces informations d'identification, mais le problème sera que le programme en cours d'exécution sera exécuté en tant qu'utilisateur et non en tant que root. Je ne connais pas les implications en matière de sécurité de l'écriture du code compilé et de son paramétrage en SUID.
Espérons que quelqu'un vous donnera une meilleure réponse.
mais puisque j'en ai tapé autant, êtes-vous dans un site ultra-sécurisé ? Parce que c'est vraiment la seule raison de tout ça. Des clés publiques normales avec des phrases de passe devraient être plus que suffisantes pour 99% des cas.