Pregunta ¿Qué es randomart producido por ssh-keygen?


Cuando genera una clave, obtiene "randomart" de las versiones más nuevas de OpenSSH. No puedo encontrar una explicación de por qué y para qué se supone que debo usarlo.

Generating public/private rsa key pair.
The key fingerprint is:
05:1e:1e:c1:ac:b9:d1:1c:6a:60:ce:0f:77:6c:78:47 you@i
The key's randomart image is:
+--[ RSA 2048]----+
|       o=.       |
|    o  o++E      |
|   + . Ooo.      |
|    + O B..      |
|     = *S.       |
|      o          |
|                 |
|                 |
|                 |
+-----------------+

Generating public/private dsa key pair.
The key fingerprint is:
b6:dd:b7:1f:bc:25:31:d3:12:f4:92:1c:0b:93:5f:4b you@i
The key's randomart image is:
+--[ DSA 1024]----+
|            o.o  |
|            .= E.|
|             .B.o|
|              .= |
|        S     = .|
|       . o .  .= |
|        . . . oo.|
|             . o+|
|              .o.|
+-----------------+

324


origen




Respuestas:


El randomart está destinado a ser una forma más fácil para que los humanos validen las claves.

La validación se realiza normalmente mediante una comparación de cadenas sin sentido (es decir, la representación hexadecimal de la huella dactilar de la clave), que los humanos son bastante lentos e inexactos al comparar. Randomart reemplaza esto con imágenes estructuradas que son más rápidas y fáciles de comparar.

Este papel "Visualización Hash: una nueva técnica para mejorar la seguridad en el mundo real", Perrig A. y Song D., 1999, Taller internacional sobre técnicas criptográficas y comercio electrónico (CrypTEC '99) " explica algunas técnicas y ventajas.


241



Si pudieras explicar por qué los humanos validan las llaves, eso podría ayudar, porque francamente tiendo a poner mi clave pública en mi archivo authorized_keys y terminar con eso. - dlamblin
@dlamblin: generalmente no verificarás tus propias claves con esto. Sin embargo, sería útil para verificar la clave de host de una máquina remota. Una idea es que si inicia sesión en una máquina en particular desde varias ubicaciones (o no guarda su clave en su archivo known_hosts), podrá reconocer el "arte" de la clave del host. Si ese arte cambió repentinamente, debe tener cuidado al escribir su contraseña porque podría significar que un ataque de hombre en el medio está en progreso en su conexión (o podría significar que el anfitrión acaba de cambiar sus llaves por algún otro razón). - Chris Johnsen
Uhm, ¿cuándo podría ver el arte de los anfitriones? (Creo que nunca lo hice.) Solo vi una imagen así después de generar mi par de claves. Y a qué tendría que compararlo para reconocer el cambio "repentino". - DerMike
Apostaría que el randomart se adhiere a un principio similar a los hash para las verificaciones de integridad, a saber: una pequeña diferencia en la entrada genera una salida muy diferente. Eso significa que tendrías que memorizar la forma aproximada del randomart esperado para poder notar que algo anda mal. Por supuesto, esto no funciona en la práctica cuando SSH y otros no le muestran el randomart del host al que se está conectando (deben hacerlo incluso cuando se conoce al host). - Alan Plum
Me imagino que estos son más útiles cuando las claves públicas se intercambian en persona para una verificación de integridad después de que se complete la copia. - jordanpg


Añadir

-o VisualHostKey=yes 

a su línea de comando, o poner

VisualHostKey=yes 

en tus ~/.ssh/config.

Verás el randomart de la caja en la que estás ingresando. Si inicias sesión un día y el arte al azar es diferente (tu cerebro debería irse ¡Oye! ¡No lo reconozco!), Entonces tal vez alguien esté pirateando, o algo así.

La idea es que conscientemente no necesitas hacerlo. Una de las llaves de una de nuestras máquinas parece una mariposa. Otro se parece a un pene (sí, nuestros cerebros son primitivos). Si inicia sesión todos los días, se acostumbrará a las imágenes sin siquiera intentarlo.


173



No es bueno. Si ya has iniciado sesión antes, es mucho mejor que la computadora te reconozca usando una huella digital almacenada. La función solo se debe usar para iniciar sesión en máquinas nuevas. - Nicholas Wilson
Demasiado tarde para esta respuesta, pero vale la pena señalar que esto sería inmensamente útil si ingresa desde una máquina diferente que no tenía todos sus conocidos_host. En ese caso, la computadora no podría verificar que se conoce, pero el usuario debería poder ver "¡Eso se ve muy diferente de lo normal!" y abortar - Xkeeper
Dejar que su computadora haga el reconocimiento es vulnerable a los hosts conocidos de su computadora que están siendo pirateados. Al igual que no debe permitir que su computadora ingrese contraseñas para usted, sería mejor que valide la clave del host usted mismo. - Marko Topolnik


Anuncio oficial: OpenSSH 5.1 lanzado

Introduzca la huella digital experimental SSH   Visualización ASCII en ssh (1) y   ssh-keygen (1). Visual fingerprinnt   la exhibición está controlada por un nuevo   ssh_config (5) opción "VisualHostKey".   La intención es renderizar claves de host SSH   en una forma visual que es susceptible de   fácil recuerdo y rechazo de cambios   claves de host Esta técnica inspirada en   la visualización gráfica hash   esquemas conocidos como "arte al azar [*]", y   por las reflexiones de Dan Kaminsky en 23C3 en   Berlina.

La visualización de la huella dactilar es   actualmente deshabilitado por defecto, como   algoritmo utilizado para generar el azar   el arte todavía está sujeto a cambios.


33



Esa última frase es, de hecho, digna de saberse. OpenBSD Journal @ Undeadly.org información sobre la versión 6.8 de OpenSSH indica: "Tenga en cuenta que las claves de host visual también serán diferentes". El software más nuevo muestra imágenes diferentes a las imágenes mostradas por el software anterior. - TOOGAM


Puede encontrar un análisis en profundidad de VisualHostKey randomart en el breve artículo El obispo borracho.


24





El Randomart que se muestra después de la generación ssh-keygen es una representación gráfica de la clave que acaba de generar. Entonces:

  • el Randomart es no De Verdad útil Para el usuario que generó la clave ssh 

  • Randomart puede ser muy útil para un usuario que usa una conexión a través de SSH para conectar a menudo al mismo servidor: si agregó la opción "-o VisualHostKey = yes" a su comando SSH:

    ssh user@domainname.com -o VisualHostKey = sí

se mostrará el Randomart correspondiente a la clave pública del servidor.

Para ver un ejemplo, puedes probar:

ssh git@github.com -o VisualHostKey = sí

En el caso donde el usuario a menudo se conecta al mismo servidor, entonces él puede rápida y fácilmente verificar si reconoce el Randomart correspondiente a la clave pública de este servidor o no. ¡Lo cual es más fácil y más rápido que comprobar la cadena de caracteres de la clave pública en sí!


8