O AWS EC2 mostra a impressão digital do SSH2, não a impressão digital do OpenSSH que todos esperam. Não diz isso na interface do usuário.
Ele também mostra dois tipos diferentes de impressões digitais dependendo se a chave foi gerada na AWS e baixada, ou se você fez upload da sua própria chave pública.
Impressões digitais geradas com
ssh-keygen -l -f id_rsa
não corresponde ao que o EC2 mostra. Você pode usar as ferramentas da API da AWS para gerar uma impressão digital com o comando ec2-fingerprint-key
ou usar o OpenSSL para fazê-lo.
Se originalmente você gerou uma chave na AWS, mas fez o upload dela novamente (digamos, para outra região), receberá uma impressão digital diferente porque a impressão digital SSH2 RSA será necessária , em vez do sha1 mostrado para as chaves geradas na AWS.
Diversão, ei?
Acima,test-generated
foigeradousandooAWSEC2.test-generated-reuploaded
éachavepúblicadachaveprivadageradapelaAWS,extraídacomssh-keygen-y
ecarregadanovamente.Aterceirachave,test-uploaded
,éumachavegeradalocalmente...masaimpressãodigitalssh-keygen-l
localéb2:2c:86:d6:1e:58:c0:b0:15:97:ab:9b:93:e7:4e:ea
.
$ssh-keygen-l-ftheprivatekey2048b2:2c:86:d6:1e:58:c0:b0:15:97:ab:9b:93:e7:4e:ea$opensslpkey-intheprivatekey-pubout-outformDER|opensslmd5-cEnterpassphraseforid_landp:(stdin)=91:bc:58:1f:ea:5d:51:2d:83:d3:6b:d7:6d:63:06:d2
Chavesgeradaslocalmente
VocêpodeusaroOpenSSL,como
7a:58:3a:a3:df:ba:a3:09:be:b5:b4:0b:f5:5b:09:a0
Eles podem ser gerados por meio da extração da parte pública da chave privada e do hashing usando:
openssl pkey -in id_rsa -pubout -outform DER | openssl md5 -c
Chaves geradas no AWS
Se a impressão digital da chave mostrada no console da AWS for maior, ela 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 chave privada / certificado gerado pelo AWS. Ele funcionará nas teclas que você converteu para o formato OpenSSH também.
Referências
Veja: