AWS EC2 menunjukkan sidik jari SSH2, bukan sidik jari OpenSSH yang diharapkan semua orang. Itu tidak mengatakan ini di UI.
Ini juga menunjukkan dua jenis sidik jari yang sangat berbeda tergantung pada apakah kunci itu dihasilkan pada AWS dan diunduh, atau apakah Anda mengunggah kunci publik Anda sendiri.
Sidik jari dihasilkan dengan
ssh-keygen -l -f id_rsa
tidak akan cocok dengan yang ditunjukkan EC2. Anda bisa menggunakan alat AWS API untuk menghasilkan sidik jari dengan ec2-fingerprint-key
perintah, atau menggunakan OpenSSL untuk melakukannya.
Perhatikan bahwa jika Anda awalnya membuat kunci pada AWS, tetapi kemudian mengunggahnya lagi (katakanlah, ke wilayah lain) maka Anda akan mendapatkan sidik jari yang berbeda karena akan mengambil sidik jari RSA SSH2, daripada sha1 yang ditampilkan untuk kunci yang Anda dihasilkan pada AWS.
Menyenangkan, hai?
Di atas, test-generated
dihasilkan menggunakan AWS EC2. test-generated-reuploaded
adalah kunci publik dari kunci pribadi AWS yang dihasilkan, diekstraksi dengan ssh-keygen -y
dan diunggah lagi. Kunci ketiga test-uploaded
,, adalah kunci yang dibuat secara lokal ... tetapi ssh-keygen -l
sidik jari lokal adalah 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
Kunci dihasilkan secara lokal
Anda dapat menggunakan OpenSSL, seperti yang ditunjukkan oleh Daniel di forum AWS , untuk menghasilkan sidik jari dalam bentuk yang digunakan oleh AWS untuk menampilkan sidik jari untuk kunci publik yang diunggah (SSH2 MD5), seperti:
7a:58:3a:a3:df:ba:a3:09:be:b5:b4:0b:f5:5b:09:a0
Mereka dapat dihasilkan dengan mengekstraksi bagian publik dari kunci pribadi dan hashing menggunakan:
openssl pkey -in id_rsa -pubout -outform DER | openssl md5 -c
Kunci yang dihasilkan pada AWS
Jika sidik jari kunci yang ditunjukkan pada konsol AWS lebih panjang maka itu adalah kunci pribadi yang dihasilkan pada AWS, seperti:
ea:47:42:52:2c:25:43:76:65:f4:67:76:b9:70:b4:64:12:00:e4:5a
Dalam hal ini Anda perlu menggunakan perintah berikut, juga ditunjukkan oleh Daniel di forum AWS, untuk menghasilkan hash sha1 berdasarkan kunci pribadi:
openssl pkcs8 -in aws_private.pem -nocrypt -topk8 -outform DER | openssl sha1 -c
pada kunci pribadi / file sertifikat yang dihasilkan AWS yang diunduh. Ini akan bekerja pada kunci yang Anda konversi ke format OpenSSH juga.
Referensi
Lihat: