AWS EC2 zeigt den SSH2-Fingerabdruck, nicht den OpenSSH-Fingerabdruck, den alle erwarten. Dies wird in der Benutzeroberfläche nicht angegeben.
Es werden auch zwei völlig unterschiedliche Arten von Fingerabdrücken angezeigt, je nachdem, ob der Schlüssel in AWS generiert und heruntergeladen wurde oder ob Sie Ihren eigenen öffentlichen Schlüssel hochgeladen haben.
Fingerabdrücke generiert mit
ssh-keygen -l -f id_rsa
wird nicht mit dem übereinstimmen, was EC2 zeigt. Sie können entweder die AWS-API-Tools verwenden, um mit dem ec2-fingerprint-key
Befehl einen Fingerabdruck zu generieren , oder OpenSSL verwenden, um dies zu tun.
Beachten Sie, dass Sie einen anderen Fingerabdruck erhalten , wenn Sie ursprünglich einen Schlüssel in AWS generiert und ihn dann erneut hochgeladen haben (z. B. in eine andere Region), da der SSH2-RSA-Fingerabdruck und nicht der von Ihnen angezeigte sha1-Wert für Schlüssel verwendet wird auf AWS generiert.
Spaß, hey?
Oben test-generated
wurde mit AWS EC2 generiert. test-generated-reuploaded
ist der öffentliche Schlüssel aus dem privaten Schlüssel, den AWS generiert, extrahiert ssh-keygen -y
und erneut hochgeladen hat. Der dritte Schlüssel test-uploaded
ist ein lokal generierter Schlüssel, der lokale ssh-keygen -l
Fingerabdruck jedoch 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
Lokal erzeugte Schlüssel
Wie Daniel in den AWS-Foren demonstriert hat, können Sie OpenSSL verwenden, um den Fingerabdruck in der Form zu generieren, die von AWS zum Anzeigen von Fingerabdrücken für hochgeladene öffentliche Schlüssel (SSH2 MD5) verwendet wird.
7a:58:3a:a3:df:ba:a3:09:be:b5:b4:0b:f5:5b:09:a0
Sie können generiert werden, indem der öffentliche Teil aus dem privaten Schlüssel extrahiert und mit folgendem Hashing verarbeitet wird:
openssl pkey -in id_rsa -pubout -outform DER | openssl md5 -c
In AWS generierte Schlüssel
Wenn der in der AWS-Konsole angezeigte Schlüsselfingerabdruck länger ist, handelt es sich um einen privaten Schlüssel, der in AWS generiert wurde. Beispiel:
ea:47:42:52:2c:25:43:76:65:f4:67:76:b9:70:b4:64:12:00:e4:5a
In diesem Fall müssen Sie den folgenden Befehl verwenden, der auch von Daniel in den AWS-Foren angezeigt wird, um einen sha1-Hash auf der Grundlage des privaten Schlüssels zu generieren:
openssl pkcs8 -in aws_private.pem -nocrypt -topk8 -outform DER | openssl sha1 -c
in der heruntergeladenen AWS-generierten privaten Schlüssel- / Zertifikatdatei. Es funktioniert auch mit Schlüsseln, die Sie in das OpenSSH-Format konvertiert haben.
Verweise
Sehen: