Qual é o propósito da imagem randomart para chaves SSH de usuário (não host)?

76

O ssh-keygen gera a seguinte saída:

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

Qual é o propósito desta imagem, ela fornece algum valor para o usuário? Note que esta é uma chave de cliente (usuário), não uma chave de host.

    
por syntagma 15.07.2014 / 23:24

3 respostas

44

Isso foi explicado nesta pergunta: link . Ele realmente não tem nenhum uso para o usuário que gera a chave, mas sim para facilitar a validação. Pessoalmente. você preferiria ver isto: (Por favor note que este é um exemplo de chave 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)

Qual, sendo humano, levaria mais um bom tempo para verificar ou:

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

Exemplos retirados de link

Essencialmente, a arte aleatória gerada pelas chaves do usuário também pode ser usada da mesma maneira. Se a imagem gerada inicialmente for diferente da imagem atual da chave, por exemplo, se você tivesse movido uma chave, ela provavelmente teria sido adulterada, corrompida ou substituída.

Isso, da outra pergunta, é uma boa leitura: link

    
por 16.07.2014 / 02:33
11

Parece haver muita confusão sobre a diferença entre uma chave de host e uma chave de usuário.

Uma chave de host é usada para estabelecer a identidade do host remoto para você.
Uma chave de usuário é usada para estabelecer a identidade de você mesmo para o controle remoto host.
Como essas chaves são normalmente mostradas apenas como uma sequência de caracteres, pode ser difícil para um ser humano dizer de imediato se elas mudaram. Esse é o propósito do randomart. Um pequeno desvio na chave causará uma imagem randomart significativamente diferente.

Quanto ao motivo pelo qual você se importaria, é importante verificar a identidade do host remoto, pois é possível que alguém possa interceptar seu tráfego ( ataque MITM ) e visualizar / manipular tudo o que foi enviado e recebido.

Não é importante verificar-se embora. Você não precisa confirmar "sim, sou eu". Mesmo que, de alguma forma, sua chave de usuário tenha mudado, o servidor remoto permitirá que você entre, ou não. Sua conexão não corre maior risco de espionagem.

Então por que o ssh-keygen mostra a imagem randomart quando você gera sua chave de usuário ?
Porque quando o código randomart foi introduzido em ssh-keygen [[email protected] 2008/06/11 21:01:35] , chaves de host e chaves de usuário foram geradas da mesma maneira. A saída de informação extra pode não ser de nenhuma utilidade para uma chave de usuário, mas não prejudica (além de potencialmente causar confusão).

Agora, quando eu disse "quando o código randomart foi introduzido", isso aconteceu porque o código foi alterado. Atualmente, a maioria das distros usa ssh-keygen -A para gerar chaves de host, o que é um novo recurso. Esse recurso gera vários tipos diferentes de chaves (rsa, dsa, ecdsa) e não mostra uma imagem randomart. O método antigo ainda pode ser usado para gerar chaves de host, mas geralmente não é. Então agora o método antigo é usado apenas para chaves de usuário, mas o recurso randomart permanece.

    
por 19.07.2014 / 19:39
2

link

It turns out these randomart are quite useful. As jumbled as they may appear, they’re a lot easier for humans to differentiate between than long strings of hex code.

    
por 03.12.2016 / 16:55