15 votes

Pourquoi une clé publique SSH se trouve-t-elle sur le serveur et non sur le client ?

Je ne comprends pas bien la théorie qui sous-tend la conservation des clés publiques sur le serveur. Dans l'analogie de la boîte à clé des clés publiques/privées, pour débloquer Celui d'Alice Alice détient la clé privée tandis que la clé publique est distribuée à Bob. Il semblerait que le serveur joue le rôle de lockbox, alors pourquoi détient-il la clé publique ?

25voto

jammus Points 1796

N'oubliez pas que le serveur dispose d'une clé privée et d'une clé publique qui sont totalement distinctes de la paire de clés que vous générez en tant qu'utilisateur. La clé privée du serveur est généralement stockée dans la configuration du serveur et la clé publique est transmise par le serveur lorsque vous tentez de vous connecter. Votre client compare la clé publique du serveur à votre fichier known_hosts. Si elle est utilisée correctement, cette méthode permet d'éviter les attaques MITM.

Vous disposez de la clé privée de votre compte personnel. Le serveur a besoin de votre clé publique pour pouvoir vérifier que la clé privée du compte que vous essayez d'utiliser est autorisée.

Donc, en utilisant votre exemple. Bob et Alice ont tous deux des clés privées et des clés publiques. Les clés publiques qui ont été partagées au préalable ou dans le cadre de la connexion sont utilisées pour vérifier que les données cryptées par les clés privées sont légitimes. Si le client ne dispose pas de la clé publique, ou si celle-ci est différente, vous recevrez un avertissement effrayant. Si le serveur n'a pas la clé publique du client, vous ne serez pas autorisé à entrer.

6voto

Noah Salzman Points 21

En tant qu'utilisateur, c'est vous qui devez fournir les informations vous concernant lorsque vous vous connectez. Ainsi, pour des raisons d'autorisation, vous avez besoin de la clé privée car le serveur demandera à toute personne qui prétend être vous (qui tente de se connecter avec votre nom) de le prouver.

Le serveur vous envoie un morceau de texte, vous demande de le crypter et de le décrypter avec votre clé publique. Seule la personne possédant votre clé privée peut le faire.

2voto

dilli babu Points 11

Une clé publique est un très grand nombre, dérivé mathématiquement de votre clé privée.

Il est dérivé de manière à ce que les deux chiffres soient liés,

mais de manière à ce que la clé privée ne puisse pas être découverte par une personne qui ne connaît que la clé publique. La clé publique est ce que vous envoyez à d'autres parties, à qui vous voulez vous authentifier ou à qui vous voulez envoyer des messages cryptés. La clé publique n'est pas sensible et n'a pas besoin d'être protégée. Elle peut être diffusée publiquement. babudilli98@gmail.com

1voto

jcollum Points 10236

Il contient la clé publique pour plus de commodité. Sinon, vous devez créer une ICP - quelque chose de similaire à une AC SSL.

L'idée serait de vérifier l'empreinte de la clé publique lorsque le client ssh vous demande d'accepter la clé du serveur distant.

1voto

Tony Eichelberger Points 1586

Je dirais qu'une meilleure analogie serait de dire que la clé publique du serveur est une boîte à verrou ouverte avec un loquet que vous pouvez fermer (mais pas ouvrir), seul le serveur peut l'ouvrir. La vraie question est de savoir si vous faites confiance à la clé publique (est-ce vraiment le cas ?). Celui d'Alice Box ?) quel que soit l'endroit d'où vous l'obtenez, il est public par définition, et c'est la raison d'être des PKI.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X