AWS EC2 affiche l'empreinte SSH2, pas l'empreinte OpenSSH à laquelle tout le monde s'attend. Cela ne dit pas cela dans l'interface utilisateur.
Il indique également deux types d'empreintes digitales complètement différentes selon que la clé a été générée sur AWS et téléchargée ou si vous avez téléchargé votre propre clé publique.
Empreintes digitales générées avec
ssh-keygen -l -f id_rsa
ne pas correspondre à ce que montre EC2. Vous pouvez utiliser les outils de l'API AWS pour générer une empreinte digitale avec la ec2-fingerprint-key
commande ou utiliser OpenSSL pour le faire.
Notez que si vous avez initialement généré une clé sur AWS, puis que vous l'avez à nouveau chargée (dans une autre région, par exemple), vous obtiendrez une empreinte différente, car elle utilisera l'empreinte SSH2 RSA, plutôt que le sha1 affiché pour les clés que vous utilisez. généré sur AWS.
Fun, hey?
Dans ce qui précède, a test-generated
été généré à l'aide de AWS EC2. test-generated-reuploaded
est la clé publique de la clé privée AWS générée, extraite avec ssh-keygen -y
et téléchargée à nouveau. La troisième clé, test-uploaded
est une clé générée localement ... mais l' ssh-keygen -l
empreinte locale est 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
Clés générées localement
Vous pouvez utiliser OpenSSL, comme l'a démontré Daniel sur les forums AWS , pour générer l'empreinte sous la forme utilisée par AWS pour afficher les empreintes des clés publiques téléchargées (SSH2 MD5), par exemple:
7a:58:3a:a3:df:ba:a3:09:be:b5:b4:0b:f5:5b:09:a0
Ils peuvent être générés en extrayant la partie publique de la clé privée et en la hachant à l'aide de:
openssl pkey -in id_rsa -pubout -outform DER | openssl md5 -c
Clés générées sur AWS
Si l'empreinte de clé affichée sur la console AWS est plus longue, il s'agissait d'une clé privée générée sur AWS, telle que:
ea:47:42:52:2c:25:43:76:65:f4:67:76:b9:70:b4:64:12:00:e4:5a
Dans ce cas, vous devez utiliser la commande suivante, également affichée par Daniel sur les forums AWS, pour générer un hachage sha1 basé sur la clé privée:
openssl pkcs8 -in aws_private.pem -nocrypt -topk8 -outform DER | openssl sha1 -c
sur le fichier de certificat / clé privée généré par AWS téléchargé. Cela fonctionnera également sur les clés converties au format OpenSSH.
Références
Voir: