Bagaimana cara kerja format .pub ssh-keygen dengan file .pem?

17

The ssh-keygenperintah menghasilkan .pubfile yang menggambarkan sebagai "file kunci publik", tetapi mereka adalah format yang sama sekali berbeda dengan kebanyakan "file kunci publik" Saya biasanya pernah melihat, yang dalam format PEM. File- ssh-keygenstyle terlihat seperti ini:

ssh-rsa AAAAB3NzaC1... user@host

... sedangkan file PEM terlihat seperti ini:

-----BEGIN CERTIFICATE-----
MIIGZjCCBU6gAwIBAgIDCIrNMA0GCSqGSIb3DQEBBQUAMIGMMQsw...
-----END CERTIFICATE-----

Apakah kedua format ini dapat dipertukarkan, atau apakah mereka melakukan tujuan yang secara fundamental berbeda? Saya menemukan masalah ini karena saya ingin mendapatkan sidik jari kunci RSA2 dari file kunci publik berkode PEM saya, tetapi metode ini biasanya menyarankan untuk melakukannya ( ssh-keygen -l) mengatakan bahwa file yang dikodekan PEM-saya "bukan file kunci publik".

Omong-omong, saya menyadari jawaban ini , tetapi tidak mencakup file .pub yang dihasilkan oleh ssh-keygen.

Jez
sumber
1
Nah, kunci publik SSH tidak sama dengan sertifikat dalam format PEM. Sudahkah Anda melihat ini? serverfault.com/questions/114301/…
cjc
2
Penting untuk menjadi perhatian khusus di sini, bahwa Anda mungkin melihat OpenSSH, dan bukan SSH.COM yang kurang umum, atau implementasi lainnya. Kunci publik yang disandikan dengan PEM standar sebenarnya berlaku untuk beberapa implementasi yang kurang umum. Saya tahu kotak VMS yang saya hubungkan membutuhkan file PEM.
Zoredache
@ cjc, Benar, ini bukan sertifikat, tetapi tidak juga tidak sama dengan apa yang Anda dapatkan dengan menjalankan openssl rsa -in privatekey_rsa -pubout, yang sebenarnya adalah kunci publik, dan bukan sertifikat.
Zoredache

Jawaban:

8

Pasangan kunci OpenSSH bukan PEM atau standar x500 lainnya. Versi baru OpenSSH dapat menggunakan kunci PEM X.509, tetapi itu adalah bola lilin lain yang terpisah dari ssh-keygen, dan harus dikonfigurasi secara eksplisit. Seperti yang saya tahu, tidak ada implementasi utama SSH menggunakan format kunci yang sama persis dengan yang lain.

Sebagai catatan Zoredache , jika Anda menggunakan sesuatu selain OpenSSH (deus iuvo vos), maka itu bisa sangat dekat dengan apa pun.

Chris S
sumber
1
Ya, memang, saya bingung SSH dan SSL! Daemon OpenSSH saya sebenarnya menggunakan .pubfile di server saya, pada /etc/ssh/ssh_host_rsa_key.pubdan tidak menggunakan arsitektur otoritas sertifikat SSL. Ketika saya menjalankan ssh-keygen -lfile itu, itu memberi saya sidik jari kunci RSA2 server.
Jez