O AWS EC2 mostra a impressão digital SSH2, não a impressão digital OpenSSH que todos esperam. Não diz isso na interface do usuário.
Ele também mostra dois tipos completamente diferentes de impressões digitais, dependendo se a chave foi gerada na AWS e baixada, ou se você carregou sua própria chave pública.
Impressões digitais geradas com
ssh-keygen -l -f id_rsa
será não coincidir com o que mostra EC2. Você pode usar as ferramentas da API da AWS para gerar uma impressão digital com o ec2-fingerprint-key
comando ou usar o OpenSSL para fazer isso.
Observe que, se você gerou uma chave originalmente na AWS, mas depois fez o upload novamente (por exemplo, para outra região), obterá uma impressão digital diferente, pois será necessária a impressão digital SSH2 RSA, em vez do sha1 exibido para as chaves que você gerado na AWS.
Divertido, ei?
Acima, test-generated
foi gerado usando o AWS EC2. test-generated-reuploaded
é a chave pública da chave privada gerada pela AWS, extraída ssh-keygen -y
e carregada novamente. A terceira chave test-uploaded
,, é uma chave gerada localmente ... mas a ssh-keygen -l
impressão digital local é b2:2c:86:d6:1e:58:c0:b0:15:97:ab:9b:93:e7:4e:ea
.
$ ssh-keygen -l -f theprivatekey
2048 b2:2c:86:d6:1e:58:c0:b0:15:97:ab:9b:93:e7:4e:ea
$ openssl pkey -in theprivatekey -pubout -outform DER | openssl md5 -c
Enter pass phrase for id_landp:
(stdin)= 91:bc:58:1f:ea:5d:51:2d:83:d3:6b:d7:6d:63:06:d2
Chaves geradas localmente
Você pode usar o OpenSSL, como demonstrado por Daniel nos fóruns da AWS , para gerar a impressão digital no formato usado pela AWS para mostrar impressões digitais para chaves públicas carregadas (SSH2 MD5), como:
7a:58:3a:a3:df:ba:a3:09:be:b5:b4:0b:f5:5b:09:a0
Eles podem ser gerados extraindo a parte pública da chave privada e fazendo o hash usando:
openssl pkey -in id_rsa -pubout -outform DER | openssl md5 -c
Chaves geradas na AWS
Se a impressão digital da chave mostrada no console da AWS for mais longa, será uma chave privada gerada na AWS, como:
ea:47:42:52:2c:25:43:76:65:f4:67:76:b9:70:b4:64:12:00:e4:5a
Nesse caso, você precisa usar o seguinte comando, também mostrado por Daniel nos fóruns da AWS, para gerar um hash sha1 com base na chave privada:
openssl pkcs8 -in aws_private.pem -nocrypt -topk8 -outform DER | openssl sha1 -c
no arquivo de certificado / chave privada gerado pela AWS e baixado. Também funcionará nas chaves que você converteu no formato OpenSSH.
Referências
Vejo: