Tutorial ini berjudul: SSH: Konversi OpenSSH ke SSH2 dan sebaliknya muncul untuk menawarkan apa yang Anda cari.
Ubah kunci OpenSSH menjadi kunci SSH2
Jalankan versi OpenSSH ssh-keygen
pada kunci publik OpenSSH Anda untuk mengubahnya menjadi format yang diperlukan oleh SSH2 pada mesin jarak jauh. Ini harus dilakukan pada sistem yang menjalankan OpenSSH.
$ ssh-keygen -e -f ~/.ssh/id_dsa.pub > ~/.ssh/id_dsa_ssh2.pub
Ubah kunci SSH2 menjadi kunci OpenSSH
Jalankan versi OpenSSH ssh-keygen
pada kunci publik ssh2 Anda untuk mengubahnya menjadi format yang diperlukan oleh OpenSSH. Ini perlu dilakukan pada sistem yang menjalankan OpenSSH.
$ ssh-keygen -i -f ~/.ssh/id_dsa_1024_a.pub > ~/.ssh/id_dsa_1024_a_openssh.pub
Tutorial selanjutnya menunjukkan bagaimana menghasilkan berbagai jenis kunci dan cara mengekspornya ke format lain.
Gunakan ini untuk kunci pribadi & publik?
Menurut halaman manual, jawabannya adalah ya. Melihat halaman manual ssh-keygen
untuknya menyatakan berikut untuk -e
sakelar:
-e This option will read a private or public OpenSSH key file and print
the key in RFC 4716 SSH Public Key File Format to stdout. This option
allows exporting keys for use by several commercial SSH implementations.
Tetapi dalam praktiknya akan muncul bahwa ssh-keygen
tidak dapat mengkonversi kunci pribadi, hanya yang publik.
Sebagai contoh:
# Make a new RSA key-pair
$ ssh-keygen -t rsa -f newkey
# attempt to extract the private key
$ ssh-keygen -e -f newkey > newkey_e
# attempt to extract the public key
$ ssh-keygen -e -f newkey.pub > newkey.pub_e
# Notice the supposed extracted private key (newkey_e) and the corresponding extracted public key (newkey.pub_e) have identical `md5sum`'s.
$ for i in *;do md5sum $i;done
d1bd1c12c4a2b9fee4b5f8f83150cf1a newkey
8b67a7be646918afc7a041119e863be5 newkey_e
13947789d5dcc5322768bd8a2d3f562a newkey.pub
8b67a7be646918afc7a041119e863be5 newkey.pub_e
Melihat kunci yang diekstrak yang dihasilkan mengkonfirmasi ini:
$ grep BEGIN newkey_e newkey.pub_e
newkey_e:---- BEGIN SSH2 PUBLIC KEY ----
newkey.pub_e:---- BEGIN SSH2 PUBLIC KEY ----
Googling sedikit saya menemukan uraian singkat ini dari sebuah artikel berjudul: Bagaimana Anda mengonversi file kunci OpenSSH Private ke SSH . Situs ini tampaknya naik turun tetapi mencari dalam cache Google untuk halaman ini saya menemukan uraian berikut:
Bagaimana Anda mengonversi file kunci pribadi OpenSSH ke file kunci pribadi SSH.com?
Itu tidak dapat dilakukan oleh program ssh-keygen meskipun kebanyakan halaman manual mengatakan itu bisa. Mereka mencegahnya sehingga Anda akan menggunakan beberapa kunci publik. Satu-satunya masalah adalah bahwa RCF tidak akan memungkinkan Anda untuk mendaftar lebih dari satu kunci publik.
Artikel selanjutnya membahas metode konversi kunci privat openssh ke kunci privat ssh.com melalui penggunaan alat Putty puttygen
. CATATAN: puttygen
dapat dijalankan dari Windows & Linux.
Buka 'puttygen' dan hasilkan pasangan kunci publik / pribadi 2048 bit. Pastikan Anda menambahkan kata sandi setelah dibuat. Simpan kunci publik sebagai "puttystyle.pub" dan simpan kunci pribadi sebagai "puttystyle". Program dempul dan program SSH.com berbagi format kunci-publik yang umum tetapi program dempul dan OpenSSH memiliki format kunci-publik yang berbeda. Kami akan kembali ke sini, nanti. Anda harus dapat memuat kedua kunci puttystyle ke dalam program dempul. Namun, format kunci pribadi untuk dempul dan SSH.com tidak sama dan Anda harus membuat file yang dikonversi. Buka menu konversi dan ekspor kunci SSH.com. Simpan sebagai "sshstyle". Sekarang kembali ke menu konversi dan ekspor kunci openssh. Simpan sebagai "openssh". Nama-nama ini sewenang-wenang dan Anda dapat memilih sendiri. Anda harus mengubah nama untuk instalasi pada mesin OpenSSH, nanti. Lihat di bawah.
Mengingat hal di atas, saya berhasil menggunakan yang berikut puttygen
, menggunakan pasangan kunci openssh pribadi / publik yang dibuat sebelumnya:
# generate ssh.com private key from private openssh key
$ puttygen newkey -O private-sshcom -o newkey.puttygen-sshcom
# generate ssh.com public key from private openssh key
$ puttygen newkey -O public -o newkey.pub_puttygen-sshcom
# generate openssh public key from private openssh key (for confirmation)
$ puttygen newkey -O public-openssh -o newkey.pub_puttygen-openssh
Komentarnya berbeda sehingga Anda tidak bisa hanya membandingkan file yang dihasilkan, jadi jika Anda melihat beberapa baris pertama tombol, itu indikator yang cukup bagus bahwa perintah di atas berhasil.
Perbandingan kunci ssh.com publik:
$ tail -n +3 newkey.pub_e | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb
$ tail -n +3 newkey.pub_puttygen-sshcom | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb
Perbandingan kunci openssh publik:
$ cut -c 1-100 newkey.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY
$ cut -c 1-100 newkey.pub_puttygen-openssh
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY
$> a="$(ssh-keygen -e -f ~/.ssh/id_rsa)m"; b="$(ssh-keygen -e -f ~/.ssh/id_rsa.pub)m"; md5sum <<< $a; md5sum <<< $b ce615aa3e39e274d0bd81064399cedf8 - ce615aa3e39e274d0bd81064399cedf8 -
. Hash dari file asli berbeda, obv. Tampaknya ia mengembalikan kunci publik untuk kunci input swasta atau publik.ssh-keygen
mengembalikan kunci publik. Saya telah menemukan metode berdasarkan penelitian tambahan. LMK jika bisa diterima.puttygen <OpenSSH_priv_key> -O public -o id_rsa_ssh2_puttygen{.pub}
(-O
kependekan dari tipe output dan-o
untuk file output ). Itu menghasilkan kunci pribadi dan publik ssh2 dari OpenSSH 7.0 yang dihasilkan kunci privat rsa 2048 bit. Tidak berfungsi pada klien Win Phone 7.5 (* Klien SSH oleh Tommi Pirttiniemi). Tetapi terima kasih kepada @ ДМИТРИЙМАЛИКОВ dan @slm untuk jawaban yang bagus pula. @Otheus puttygen hadirputty
di Arch.ssh-keygen
tidak akan mengekspor kunci pribadi dalam format pem, tetapi itu akan mengonversi kunci priv openssh yang ada ke format pem, menimpa yang asli. Yang harus Anda lakukan adalah mengedit kata sandi.Perintah untuk mengkonversi
~/.ssh/id_rsa
file Anda dari format OpenSSH ke format SSH2 (pem) adalah:Kemudian berikan frasa sandi (lama) dan baru saat diminta. Mereka bisa sama, atau bahkan keduanya kosong. Atau Anda dapat menyediakannya di baris perintah menggunakan opsi
-P
(frasa sandi lama) dan-N
(frasa sandi baru). Misalnya, jika frasa sandi kosong, dan Anda ingin tetap seperti itu:sumber