Format Kunci Publik SSH


11

Saya memiliki kunci publik dalam format:

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==

---- END SSH2 PUBLIC KEY ----

Biasanya saya melihat kunci dalam format seperti ini:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]

Bisakah saya menyalin kunci pertama dalam file Authorized_key atau saya harus memodifikasinya sehingga terlihat seperti yang kedua? Saya pikir yang pertama dihasilkan oleh PUTTYgen sedangkan yang kedua dihasilkan oleh ssh-keygen.

Jawaban:


16

gunakan ssh-keygen -iuntuk mengonversi format yang kompatibel dengan SSH2 ke format yang kompatibel dengan OpenSSH.

dari man ssh-keygen:

-i Opsi ini akan membaca file kunci privat (atau publik) yang tidak dienkripsi dalam format yang kompatibel dengan SSH2 dan mencetak kunci privat (atau publik) yang kompatibel dengan OpenSSH ke stdout. ssh-keygen juga membaca Format File Kunci Publik RFC 4716 SSH. Opsi ini memungkinkan mengimpor kunci dari beberapa implementasi SSH komersial.


4

Anda harus mengonversi kunci publik ke konvensi openssh:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227

Pastikan juga bahwa kunci menempati tepat satu baris dan tidak ada jeda baris yang diperkenalkan saat menyalin.


4

Ini jawaban yang lengkap dan benar:

ssh-keygen -i -m PKCS8 -f public-key.pem


1
"RFC4716" adalah format key_format default, dan -m tampaknya untuk menentukan format INPUT dalam contoh ini, bukan output, jadi Anda benar.
JimNim

Secara teknis, jawaban 'benar' alexus 'TIDAK salah, karena jawaban itu tidak mengeja sintaksis lengkap - hanya menunjuk ke flag utama mana yang harus digunakan, meninggalkan kebutuhan untuk memeriksa -i sintaks / penggunaan di halaman manual.
JimNim

2

Cukup tulis ulang kunci Anda dalam format yang cocok untuk authorized_keys:

keytype keybody keyname

Perlu diingat bahwa trailing "==" adalah placeholder yang diperlukan untuk menjaga keylength sama dengan panjang yang diinginkan.


4
Trailing "==" adalah padding Base64
Andrew

bagaimana saya tahu apakah RSA atau DSA-nya?
Hans
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.