445 votes

Qu'est-ce que l'art aléatoire produit par ssh-keygen?

Lorsque vous générez une clé, vous obtenez de l'"art aléatoire" à partir des versions plus récentes d'OpenSSH. Je ne trouve pas d'explication sur pourquoi, et pour quoi je suis censé l'utiliser.

Génération de la paire de clés rsa publique/privée.
L'empreinte de la clé est :
05:1e:1e:c1:ac:b9:d1:1c:6a:60:ce:0f:77:6c:78:47 you@i
L'image randomart de la clé est :
+--[ RSA 2048]----+
|       o=.       |
|    o  o++E      |
|   + . Ooo.      |
|    + O B..      |
|     = *S.       |
|      o          |
|                 |
|                 |
|                 |
+-----------------+

Génération de la paire de clés dsa publique/privée.
L'empreinte de la clé est :
b6:dd:b7:1f:bc:25:31:d3:12:f4:92:1c:0b:93:5f:4b you@i
L'image randomart de la clé est :
+--[ DSA 1024]----+
|            o.o  |
|            .= E.|
|             .B.o|
|              .= |
|        S     = .|
|       . o .  .= |
|        . . . oo.|
|             . o+|
|              .o.|
+-----------------+

4 votes

Vous pouvez trouver une analyse approfondie de l'art visuel aléatoire VisualHostKey dans le court article The Drunken Bishop.

11 votes

Une autre question que j'aimerais poser est : est-il sûr de partager votre image randomart avec d'autres ? En d'autres termes, étant donné une image randomart comme celle ci-dessus, est-il possible de la rétroingénierie pour retrouver la clé ?

4 votes

@AndyJ0076 randomart est une visualisation de l'empreinte digitale de la clé PUBLIQUE, donc c'est sûr :-)

319voto

Daniel Points 3741

Le randomart est censé être un moyen plus facile pour les humains de valider les clés.

La validation est normalement effectuée par comparaison de chaînes de caractères sans signification (c'est-à-dire la représentation hexadécimale de l'empreinte de la clé), ce qui est assez lent et imprécis pour les humains. Le randomart remplace cela par des images structurées qui sont plus rapides et plus faciles à comparer.

Cet article "Hash Visualization: a New Technique to improve Real-World Security", Perrig A. et Song D., 1999, International Workshop on Cryptographic Techniques and E-Commerce (CrypTEC '99)" explique certaines techniques et avantages.

96 votes

Si vous pouviez simplement expliquer pourquoi les humains valident les clés, cela pourrait aider, car honnêtement j'ai tendance à simplement mettre ma clé publique dans mon fichier authorized_keys et à en rester là.

57 votes

@dlamblin: En règle générale, vous ne vérifieriez pas vos propres clés avec ceci. Cependant, cela pourrait être utile pour vérifier la clé hôte d'une machine distante. Une idée est que si vous vous connectez à une machine particulière à partir de différents endroits (ou si vous ne sauvegardez pas sa clé dans votre fichier known_hosts), vous serez en mesure de reconnaître l'"art" de la clé hôte. Si cet art changeait soudainement, vous devriez être méfiant en tapant votre mot de passe car cela pourrait signifier qu'une attaque de l'homme du milieu est en cours sur votre connexion (ou cela pourrait signifier que l'hôte vient de changer ses clés pour une autre raison).

49 votes

Uhm, Quand pourrais-je voir l'art des hôtes? (Je ne l'ai jamais fait, je pense.) Je n'ai vu une telle image qu'après avoir généré ma paire de clés. Et à quoi devrais-je le comparer pour reconnaître un changement 'soudain'.

252voto

Paul Murray Points 2391

Ajoutez

-o VisualHostKey=yes 

à votre ligne de commande, ou placez

VisualHostKey=yes 

dans votre ~/.ssh/config.

Vous verrez l'art randomique de la boîte sur laquelle vous vous connectez. Si un jour vous vous connectez et que l'art randomique est différent (votre cerveau devrait dire Hey! Je ne reconnais pas ça!), alors peut-être que quelqu'un est en train de pirater, ou quelque chose du genre.

L'idée est que vous n'avez pas besoin de le faire consciemment. Une des clés pour une de nos machines ressemble un peu à un papillon. Une autre ressemble un peu à un pénis (oui, nos cerveaux sont primitifs). Si vous vous connectez tous les jours, vous vous habituez aux images sans même essayer.

10 votes

Pas génial. Si vous vous êtes déjà connecté auparavant, beaucoup mieux pour l'ordinateur de vous reconnaître en utilisant une empreinte digitale stockée. La fonctionnalité est uniquement destinée à être utilisée pour vous connecter à de nouvelles machines.

68 votes

Way late to this answer, but it's worth pointing out that this would be immensely useful if you were logging in from a different machine that didn't have all of your known_hosts. In that case, the computer wouldn't be able to verify that it's known, but the user should be able to see "That looks way different than normal!" and abort.

11 votes

Laisser votre ordinateur faire la reconnaissance est vulnérable à ce que les hôtes connus de votre propre ordinateur soient piratés. Tout comme vous ne devriez pas laisser votre ordinateur entrer des mots de passe pour vous, vous seriez mieux de vérifier la clé de l'hôte vous-même.

44voto

Isaac Points 222

Annonce officielle : OpenSSH 5.1 publié

Introduction de la visualisation expérimentale en ASCII de l'empreinte SSH dans ssh(1) et ssh-keygen(1). L'affichage de l'empreinte visuelle est contrôlé par une nouvelle option ssh_config(5) "VisualHostKey". L'objectif est de rendre les clés d'hôte SSH sous une forme visuelle qui facilite le rappel et le rejet des clés d'hôte modifiées. Cette technique est inspirée des schémas de visualisation du hachage graphique connus sous le nom "random art[*]", et des réflexions de Dan Kaminsky lors du 23C3 à Berlin.

La visualisation de l'empreinte digitale est actuellement désactivée par défaut, car l'algorithme utilisé pour générer l'art aléatoire est encore susceptible de changer.

14 votes

Cette dernière phrase vaut vraiment la peine d'être connue. OpenBSD Journal @ Undeadly.org info sur la sortie d'OpenSSH 6.8 indique : "Veuillez noter que les clés d'hôte visuelles seront également différentes." Les nouveaux logiciels affichent des images différentes de celles montrées par les anciens logiciels.

32voto

tmangin Points 391

Le Randomart affiché après la génération de la clé ssh-keygen est une représentation graphique de la clé que vous venez de générer. Ensuite:

  • Le Randomart n'est pas vraiment utile pour l'utilisateur qui a généré la clé ssh-key

  • Le Randomart peut être très utile pour un utilisateur utilisant une connexion via SSH pour se connecter souvent au même serveur: s'il a ajouté l'option "-o VisualHostKey=yes" à sa commande SSH:

ssh user@domainname.com -o VisualHostKey=yes

Le Randomart correspondant à la clé publique du serveur sera affiché.

Pour voir un exemple, vous pouvez essayer :

ssh git@github.com -o VisualHostKey=yes

Dans le cas où l'utilisateur se connecte souvent au même serveur, il peut rapidement et facilement vérifier s'il reconnaît le Randomart correspondant à la clé publique de ce serveur ou non. Ce qui est plus facile et plus rapide que de vérifier la chaîne de caractères de la clé publique elle-même !

1 votes

Vous pouvez également l'ajouter dans votre fichier ssh/config VisualHostKey=yes - c'est là que j'ai trouvé cette information safematix.com/system/linux/ssh-visualhostkey

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