ssh -o PreferredAuthentications: Quelle est la différence entre «mot de passe» et «clavier interactif»?

36

Les deux PreferredAuthentications=passwordet PreferredAuthentications=keyboard-interactivedemanderaient le mot de passe, alors quelle est la différence entre eux?

J'ai fait une recherche sur Google avec les mots-clés ssh PreferredAuthentications différence de clavier-interactive mais je n'ai trouvé aucune réponse.

La seule différence que j'ai remarquée concerne les chaînes de caractères ( user@host's password:vs. Password:):

$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).

MISE À JOUR (2018-04-09):

Pour plus de commodité, voici ce qui suit du livre SSH: TDG, comme mentionné dans la réponse de Jouell .

"keyboard-interactive"L’authentification de l’utilisateur vise principalement à permettre l’ PAMauthentification côté serveur. Il prévoit un dialogue d'interrogation -réponse multiple avec l'utilisateur dans lequel le serveur envoie une requête texte à l'utilisateur, l'utilisateur tape une réponse et ce processus peut se répéter autant de fois que nécessaire. Ainsi, par exemple, vous pouvez configurer PAMSSH avec un module qui effectue l'authentification à l'aide d'un jeton de sécurité RSA ou d'un schéma de mot de passe à utilisation unique . Les gens sont déconcertés par cela car, par défaut, l’ "keyboard-interactive"authentification implémente généralement l’authentification par mot de passe dans un seul cycle challenge-réponse, qui demande simplement un mot de passe, ce qui donne exactement le même aspect que"password"authentification. Si vous n'utilisez pas les deux à des fins différentes à des fins différentes, vous pouvez désactiver l'une ou l'autre pour éviter toute confusion de l'utilisateur final.

pynexj
la source
1
Voir RFC 4252 pour l' authentification du mot de passe et RFC 4256 pour le clavier interactif .
pynexj

Réponses:

37

Le protocole SSH a de nombreuses méthodes d'authentification. Le mot de passe et clavier interactif sont deux d'entre eux.

L' authentification par mot de passe est une simple demande d'un mot de passe unique. Il n'y a pas d'invite spécifique envoyée par le serveur. Il est donc le client qui choisit la façon d'étiqueter l'invite (le « utilisateur @ mot de passe hôte » l'invite est des OpenSSH clients , comme ssh, sftp, etc.).

L' authentification interactive au clavier est une demande plus complexe pour un nombre arbitraire d'informations. Pour chaque information, le serveur envoie l'étiquette de l'invite. De plus, cela permet au serveur de fournir une longue description de la "forme" globale. Le serveur peut également spécifier les entrées secrètes (à masquer lorsque l'utilisateur les tape) et celles qui ne le sont pas.

Bien que, dans la majorité des cas, l’ authentification interactive au clavier soit utilisée pour demander une seule invite de mot de passe "secret", il n’ya donc guère de différence en ce qui concerne l’ authentification par mot de passe .

C'est la différence du point de vue du protocole.


Du point de vue de la mise en œuvre, avec le serveur OpenSSH, l’ authentification interactive au clavier peut être connectée à des authentifications à deux facteurs (ou à plusieurs facteurs), fournies par exemple par le mécanisme PAM générique ou Kerberos .

Du point de vue du client, une autre différence est la localisation. Avec l' authentification par mot de passe , le client peut localiser le libellé "Mot de passe" , car il sait que le serveur demande un mot de passe. Avec l' authentification interactive au clavier , même lorsque le serveur demande un seul mot de passe, le client ne peut pas localiser l'invite (à moins qu'il utilise AI), car il s'agit d'une invite générique.

Martin Prikryl
la source
2

Vous savez déjà ce qu'est le mot de passe. À partir d'un niveau très élevé (pas de protocole de niveau brique), pensez à «clavier interactif» comme méthode permettant d'utiliser 2FA à l'aide de Radius et / ou SecurID, etc. Il fournit des boîtes de dialogue de défi et de réponse: ssh.com a brève description à ce sujet. Il va encore plus loin pour souligner que le clavier interactif est le parapluie dont le mot de passe relève. Respectueusement aux auteurs, c'est un peu déroutant.

Voir également la définition du livre d'escargot . Nous l'utilisons fréquemment pour nos boîtes protégées RSA.

jouell
la source