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

95

Le ssh-keygengé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é d'hôte.

syntagme
la source
12
Essayez: superuser.com/questions/22535/…
garethTheRed
Google est votre ami: sanscourier.com/blog/2011/08/31/…
Networker
2
rouvert depuis que plusieurs habitués ont aimé ce Q et ont pensé que ce serait une belle addition au site.
slm
2
Je pense que c'est une bonne question. Bien que les liens ci-dessus soient intéressants, aucun d’eux n’adresse la question posée. Ces deux liens traitent de l'utilité de randomart pour les clés de l'hôte, et non de la raison pour laquelle il est affiché pour les clés de l'utilisateur.
Patrick
1
Juste un FYI, j'ai envoyé cette question à la liste de diffusion OpenSSH l'autre jour. Jusqu'ici, les grillons. lists.mindrot.org/pipermail/openssh-unix-dev/2014-July/…
Patrick

Réponses:

55

Cela a été expliqué dans cette question: https://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen . Cela n’a vraiment aucune utilité pour l’utilisateur qui génère la clé, c’est plutôt pour faciliter la validation. Personnellement. voudriez-vous plutôt 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)

Qui, étant un humain, cela vous prendrait un bon moment pour 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-ss-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é, celle-ci 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

Torger597
la source
1
Cela ne répond pas à la question. Les informations que vous fournissez concernent les clés de l'hôte. La question concerne les clés d'utilisateur.
Patrick
8
Je crains que je ne sois pas d’accord, la question était: quel est le but de cette image, donne-t-elle une valeur pour l’utilisateur? Et j'ai répondu qu'essentiellement, cela n'a aucune valeur pour l'utilisateur qui génère ladite clé. Si j'ai oublié quelque chose ou si vous souhaitez que je rajoute des exemples supplémentaires, etc., veuillez me le faire savoir. Je suis nouveau ici.
Torger597
1
Je suis d’accord, c’est ce qui a été demandé, à propos des clés d’ utilisateur , pas des clés d’hôte.
Patrick
3
J'ai utilisé les clés d'hôte à titre d'exemple, car le principe de base est la même, mais je vais créer et ajouter un exemple de clé d'utilisateur. Merci pour votre contribution, Patrick.
Torger597
13

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

Une clé d'hôte est utilisée pour établir l'identité de l'hôte distant.
Une clé d'utilisateur est utilisée pour établir l'identité de vous-même auprès de l'hôte distant.
Étant donné que ces touches sont généralement présentées comme une simple séquence de caractères, il peut être difficile pour un humain de dire d'un coup d'œil si elles ont été modifiées. C'est le but de randomart. Un petit écart dans la clé entraînera une image aléatoire différente.

En ce qui concerne les raisons qui vous préoccupent, 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 voir / manipuler tout ce qui est envoyé et reçu.

Il n'est pas important de vérifier vous-même si. Vous n'avez pas besoin de confirmer "oui, je suis moi". Même si votre clé d'utilisateur a été modifiée, le serveur distant vous laissera entrer ou ne le fera pas. Votre connexion n'entraîne aucun risque plus élevé d'espionnage.

 

Alors, pourquoi alors ssh-keygenaffiche-t-il l'image aléatoire au moment de générer votre clé d'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és exactement de la même manière. La sortie d'informations supplémentaires peut ne pas être utile pour une clé utilisateur, mais cela ne fait pas de mal (sauf en cas de confusion possible).

Maintenant, quand j'ai dit "quand le code randomart a été introduit", c'est parce que le code a changé depuis. De nos jours, la plupart des distributions utilisent ssh-keygen -Apour 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 (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 fonctionnalité randomart reste.

Patrick
la source
Vous n'avez pas besoin de confirmer "oui, je suis moi". oui, bien que ce serait un peu plus précis de dire "oui, je me ressemble". Si vous avez plusieurs clés, vous voudrez peut-être avoir un retour supplémentaire pour vous assurer que vous utilisez la bonne.
Alois Mahdal