¿Cuál es el propósito de la imagen randomart para las claves SSH del usuario (no del host)?


95

El ssh-keygengenera el siguiente resultado:

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.   |
+-----------------+

¿Cuál es el propósito de esta imagen? ¿Proporciona algún valor para el usuario? Tenga en cuenta que esta es una clave de cliente (usuario), no una clave de host.




2
reabierto ya que a varios clientes habituales les gustó esta Q y pensaron que sería una buena adición al sitio.
slm

2
Creo que esta es una buena pregunta. Si bien los enlaces anteriores son interesantes, ninguno de ellos aborda la pregunta que se hace. Ambos enlaces hablan sobre la utilidad del randomart para las claves de host, no por qué se muestra para las claves de usuario.
Patrick

1
Solo para su información, envié esta pregunta a la lista de correo de OpenSSH el otro día. Hasta ahora, los grillos. lists.mindrot.org/pipermail/openssh-unix-dev/2014-July/…
Patrick

Respuestas:


55

Esto se explicó en esta pregunta: https://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen . Realmente no tiene ningún uso para el usuario que genera la clave, sino que es para facilitar la validación. Personalmente. preferiría mirar esto: (Tenga en cuenta que este es un ejemplo de clave de host)

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)

Lo cual, siendo humano, te llevaría un buen tiempo verificarlo, o esto:

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     |
|        . .      |
+-----------------+

Ejemplos extraídos de http://sanscourier.com/blog/2011/08/31/what-the-what-are-ssh-fingerprint-randomarts-and-why-should-i-care/

Esencialmente, el arte aleatorio generado por las claves del usuario también se puede usar de la misma manera. Si la imagen generada inicialmente es diferente de la imagen actual de la clave, por ejemplo, si movió una clave, es probable que la clave haya sido manipulada, dañada o reemplazada.

Esta, de la otra pregunta, es una lectura realmente buena: http://users.ece.cmu.edu/~adrian/projects/validation/validation.pdf


1
Esto no responde la pregunta. La información que proporciona es sobre las claves de host. La pregunta es acerca de las claves de usuario.
Patrick

8
Me temo que no estoy de acuerdo, la pregunta era: ¿Cuál es el propósito de esta imagen? ¿Proporciona algún valor para el usuario? Y respondí que esencialmente no tiene ningún valor para el usuario que genera dicha clave. Si me perdí algo o desea que agregue ejemplos adicionales, etc., hágamelo saber. Soy nuevo aqui.
Torger597

1
Estoy de acuerdo, eso es lo que se preguntó, sobre las claves de usuario , no las claves de host.
Patrick

3
Usé claves de host como ejemplo, porque el principio básico está ahí, aunque inventaré y agregaré un ejemplo de clave de usuario. Gracias por el aporte, Patrick.
Torger597

13

Parece haber mucha confusión sobre la diferencia entre una clave de host y una clave de usuario.

Se utiliza una clave de host para establecer la identidad del host remoto para usted.
Se utiliza una clave de usuario para establecer su identidad con el host remoto.
Dado que estas teclas generalmente se muestran solo como una secuencia de caracteres, puede ser difícil para un humano saber de un vistazo si han cambiado. Este es el propósito de randomart. Una pequeña desviación en la clave causará una imagen randomart significativamente diferente.

En cuanto a por qué le importaría, es importante verificar la identidad del host remoto, ya que es posible que alguien pueda interceptar su tráfico ( ataque MITM ) y ver / manipular todo lo enviado y recibido.

Sin embargo, no es importante que te verifiques a ti mismo. No necesita confirmar "sí, soy yo". Incluso si de alguna manera su clave de usuario hubiera cambiado, el servidor remoto lo dejará entrar o no lo hará. Su conexión no tiene mayor riesgo de espionaje.

 

Entonces, ¿ssh-keygen por qué entonces muestra la imagen randomart cuando genera su clave de usuario ?
Porque cuando se introdujo el código randomart en ssh-keygen [grunk@cvs.openbsd.org 2008/06/11 21:01:35] , las claves de host y las claves de usuario se generaron exactamente de la misma manera. La salida de información adicional puede no ser útil para una clave de usuario, pero no duele (aparte de causar confusión).

Ahora, cuando dije "cuando se introdujo el código randomart", fue porque el código ha cambiado desde entonces. En estos días, la mayoría de las distribuciones utilizan ssh-keygen -Apara generar claves de host, que es una característica nueva. Esta característica genera numerosos tipos diferentes de claves (rsa, dsa, ecdsa) y no muestra una imagen randomart. El antiguo método aún podría usarse para generar claves de host, pero generalmente no lo es. Así que ahora el método anterior solo se usa para las claves de usuario, pero la característica randomart permanece.


No necesita confirmar "sí, soy yo". sí, aunque sería un poco más preciso decir "sí, me parezco a mí". Si tiene muchas claves, es posible que desee recibir comentarios adicionales para asegurarse de que está utilizando la correcta.
Alois Mahdal

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.