web-dev-qa-db-fra.com

Quel est le but de l'image randomart pour les clés SSH utilisateur (et non hôte)?

Le ssh-keygen génère la sortie suivante:

The key fingerprint is:
dd:e7:25:b3:e2:5b:d9:f0:25:28:9d:50:a2:c9:44:97 user@machine
The key's randomart image is:
+--[ RSA 2048]----+
|       .o o..    |
|       o +Eo     |
|        + .      |
|         . + o   |
|        S o = * o|
|           . o @.|
|            . = o|
|           . o   |
|            o.   |
+-----------------+

Quel est le but de cette image, fournit-elle une valeur pour l'utilisateur? Notez qu'il s'agit d'une clé client (utilisateur) et non d'une clé hôte.

99
syntagma

Cela a été expliqué dans cette question: https://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen . Il n'a pas vraiment d'utilité pour l'utilisateur de générer la clé, c'est plutôt pour faciliter la validation. Personnellement. préférez-vous regarder ceci: (Veuillez noter qu'il s'agit d'un exemple de clé d'hôte)

2048 1b:b8:c2:f4:7b:b5:44:be:fa:64:d6:eb:e6:2f:b8:fa 192.168.1.84 (RSA)
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 Gist.github.com,207.97.227.243 (RSA)
2048 a2:95:9a:aa:0a:3e:17:f4:ac:96:5b:13:3b:c8:0a:7c 192.168.2.17 (RSA)
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 github.com,207.97.227.239 (RSA)

Ce qui, en tant qu'être humain, vous mettrait un certain temps à vérifier, ou ceci:

2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 Gist.github.com,207.97.227.243 (RSA)
+--[ RSA 2048]----+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+-----------------+
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 github.com,207.97.227.239 (RSA)
+--[ RSA 2048]----+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+-----------------+

Exemples tirés de http://sanscourier.com/blog/2011/08/31/what-the-what-are-ssh-fingerprint-randomarts-and-why-should-i-care/

Essentiellement, l'art aléatoire généré par les clés de l'utilisateur peut également être utilisé de la même manière. Si l'image générée initialement est différente de l'image actuelle de la clé, par exemple si vous avez déplacé une clé, la clé a probablement été falsifiée, corrompue ou remplacée.

Ceci, de l'autre question est une très bonne lecture: http://users.ece.cmu.edu/~adrian/projects/validation/validation.pdf

58
Torger597

Il semble y avoir beaucoup de confusion sur la différence entre une clé hôte et une clé utilisateur.

Une clé d'hôte est utilisée pour vous établir l'identité de l'hôte distant.
Une clé utilisateur est utilisée pour établir votre identité auprès de l'hôte distant.
Étant donné que ces touches sont généralement représentées comme une simple séquence de caractères, il peut être difficile pour un être humain de dire d'un coup d'œil si elles ont changé. C'est le but de randomart. Une petite déviation dans la clé provoquera une image aléatoire très différente.

Quant à savoir pourquoi vous vous en souciez, il est important de vérifier l'identité de l'hôte distant, car il est possible que quelqu'un puisse intercepter votre trafic ( attaque MITM ), et afficher/manipuler tout ce qui est envoyé et reçu.

Il n'est cependant pas important de vous vérifier. Vous n'avez pas besoin de confirmer "yup, je suis moi". Même si en quelque sorte votre clé d'utilisateur a changé, le serveur distant vous laissera entrer ou ne le fera pas. Votre connexion ne présente aucun risque accru d'écoute clandestine.

Alors pourquoi alors ssh-keygen afficher l'image randomart lorsque vous générez votre clé utilisateur ?
Parce que lorsque le code randomart a été introduit dans ssh-keygen [[email protected] 2008/06/11 21:01:35], Les clés d'hôte et les clés d'utilisateur ont été générées exactement de la même manière. La sortie d'informations supplémentaires ne peut être d'aucune utilité pour une clé d'utilisateur, mais elle ne fait pas de mal (autre que potentiellement source de confusion).

Maintenant, quand j'ai dit "quand le code randomart a été introduit", c'est parce que le code a depuis changé. De nos jours, la plupart des distributions utilisent ssh-keygen -A pour générer des clés d'hôte, ce qui est une nouvelle fonctionnalité. Cette fonctionnalité génère de nombreux types de clés différents (rsa, dsa, ecdsa) et ne montre pas d'image aléatoire. L'ancienne méthode pouvait toujours être utilisée pour générer des clés d'hôte, mais ce n'est généralement pas le cas. Alors maintenant, l'ancienne méthode n'est utilisée que pour les clés utilisateur, mais la fonction randomart reste.

13
Patrick

https://medium.freecodecamp.com/the-geekiest-ugly-sweater-ever-34a2e591483f#.y1glvah8k

Il s'avère que ces randomart sont très utiles. Aussi brouillés qu'ils puissent paraître, il est beaucoup plus facile pour les humains de faire la différence que de longues chaînes de code hexadécimal.

3
xgqfrms