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 si mesmo para o host remoto.
Como essas teclas geralmente são mostradas apenas como uma sequência de caracteres, pode ser difícil para um ser humano dizer rapidamente se elas foram alteradas. Este é o objetivo do randomart. Um pequeno desvio na chave causará uma imagem randomart significativamente diferente.
Por que você se importaria, é importante verificar a identidade do host remoto, pois é possível que alguém possa interceptar seu tráfego ( ataque MITM ) e exibir / manipular tudo o que é enviado e recebido.
Não é importante verificar a si mesmo. Você não precisa confirmar "sim, eu sou eu". Mesmo que sua chave de usuário tenha sido alterada, o servidor remoto permitirá que você entre ou não. Sua conexão não corre risco de escutas.
Então, por que, então, ssh-keygen
mostra a imagem do randomart quando você gera sua chave de usuário ?
Porque quando o código randomart foi introduzido em ssh-keygen
[grunk@cvs.openbsd.org 11/06/2008 21:01:35] , chaves de host e chaves de usuário foram geradas exatamente da mesma maneira. A saída de informações extras pode não ser útil para uma chave de usuário, mas não prejudica (exceto causar potencialmente confusão).
Agora, quando eu disse "quando o código randomart foi introduzido", isso ocorreu porque o código mudou desde então. Atualmente, a maioria das distros usa ssh-keygen -A
para gerar chaves de host, 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 é. Portanto, agora o método antigo é usado apenas para chaves de usuário, mas o recurso randomart permanece.