Perintah berikut menghasilkan file yang berisi kunci publik dan pribadi:
openssl genrsa -des3 -out privkey.pem 2048
Sumber: di sini
Dengan OpenSSL, kunci privat juga berisi informasi kunci publik, sehingga kunci publik tidak perlu dibuat secara terpisah
Bagaimana cara mengekstrak kunci publik dari file privkey.pem?
Terima kasih.
Jawaban:
Itu menulis kunci publik ke
key.pub
sumber
-out
misalnya:openssl rsa -in privkey.pem -pubout -out key.pub
daripada mengalihkan stdout ke file.Meskipun, teknik di atas berfungsi untuk kasus umum, itu tidak berfungsi pada file PEM Amazon Web Services (AWS).
Saya menemukan di dokumen AWS perintah berikut berfungsi:
ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
edit Terima kasih @makenova untuk baris lengkapnya:
sumber
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
, yang dapat mencegah Anda dari penebangan ke kasus yang membutuhkan kunci itu!ssh -i
, pastikan Anda menautkan ke kunci pribadi Anda di sana, bukan yang publikBagi mereka yang tertarik dengan detailnya - Anda dapat melihat apa yang ada di dalam file kunci publik (dibuat seperti dijelaskan di atas), dengan melakukan ini: -
atau untuk file kunci pribadi, ini: -
yang menghasilkan teks di konsol komponen kunci yang sebenarnya (modulus, eksponen, bilangan prima, ...)
sumber
Jika Anda mencari cara menyalin Amazon AWS
.pem
ke wilayah lain, lakukan hal berikut:Kemudian
sumber
openssl
diapit dalam tajuk PEM, yang harus Anda hapus sebelum AWS CLI menerima kuncinya.Untuk AWS mengimpor kunci publik yang sudah ada,
Ekspor dari .pem melakukan ini ... (di linux)
Ini akan menghasilkan file yang jika Anda buka di editor teks terlihat seperti ini ...
Namun AWS TIDAK akan menerima file ini.
Anda harus menghapus
-----BEGIN PUBLIC KEY-----
dan-----END PUBLIC KEY-----
dari file. Simpan dan impor dan seharusnya berfungsi di AWS.sumber
ssh-rsa AAAAB3NzaC1y....
menjalankan:ssh-keygen -f PublicKey.pub -i -mPKCS8