The ssh-keygen
perintah menghasilkan .pub
file 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-keygen
style 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
.
sumber
openssl rsa -in privatekey_rsa -pubout
, yang sebenarnya adalah kunci publik, dan bukan sertifikat.Jawaban:
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.
sumber
.pub
file di server saya, pada/etc/ssh/ssh_host_rsa_key.pub
dan tidak menggunakan arsitektur otoritas sertifikat SSL. Ketika saya menjalankanssh-keygen -l
file itu, itu memberi saya sidik jari kunci RSA2 server.