OpenSSH et les autres serveurs ssh que je connais ne permettent pas de modifier ces éléments uniquement pour les connexions ssh, mais il existe des moyens de contourner ce problème.
OpenSSH peut utiliser PAM pour l'authentification. Malheureusement, il ne permet pas de spécifier un service PAM autre que celui par défaut, vous devrez donc modifier la configuration principale de PAM. Pam n'est pas très flexible, mais il existe des modules qui permettent à PAM d'exécuter un script personnalisé lors de la connexion, vous pourriez donc essayer de créer un script pam qui détecte les connexions SSH et accepte ensuite un mot de passe différent d'une connexion non-SSH. Je ne connais pas PAM en détail, donc c'est juste une description générale.
Une autre façon (probablement plus simple) de pirater le système pourrait être d'exécuter le serveur SSH dans un espace de nom de montage séparé, et de lier le montage d'un autre serveur SSH. /etc/shadow
avec des mots de passe différents, SSHd les utilisera alors que les connexions locales ne le feront pas. (Notez que si un utilisateur se connecte via SSH et est ensuite capable d'exécuter login
ou d'une autre manière tenter une connexion locale qui sera également vérifiée dans la base de données des mots de passe SSH).