GNU/Linux >> Belajar Linux >  >> Linux

Ubah Kunci Pribadi Openssh Menjadi Kunci Pribadi Ssh2?

Apakah ada cara untuk mengonversi pasangan kunci OpenSSH yang ada ke pasangan kunci SSH2 (format ssh.com)?

UPD :karena ada beberapa jawaban tentang ssh-keygen tiba-tiba muncul, saya akan menjelaskan dari mana saya berasal (juga akan menjadi jawaban yang bagus tentang "apa yang telah Anda coba?").

$> diff --report-identical-files <(ssh-keygen -e -f ~/.ssh/id_dsa) <(ssh-keygen -e -f ~/.ssh/id_dsa.pub)
Files /tmp/zshAGGWAK and /tmp/zshPZiIr6 are identical

Dengan kata lain, ssh-keygen mengembalikan kunci yang sama untuk kunci input pribadi dan publik (hash dari file asli jelas berbeda, saya telah memeriksanya dua kali untuk memastikan bahwa itu adalah kunci privat dan publik yang valid). Sepertinya ssh-keygen hanya menghasilkan kunci publik untuk kunci input pribadi atau publik.

Saya melakukan kesalahan atau itu adalah perilaku normal?

Jawaban yang Diterima:

Tutorial berjudul:SSH:Convert OpenSSH ke SSH2 dan sebaliknya tampaknya menawarkan apa yang Anda cari.

Konversi kunci OpenSSH ke kunci SSH2

Jalankan ssh-keygen versi OpenSSH pada kunci publik OpenSSH Anda untuk mengubahnya menjadi format yang dibutuhkan 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

Konversi kunci SSH2 ke kunci OpenSSH

Jalankan ssh-keygen versi OpenSSH pada kunci publik ssh2 Anda untuk mengubahnya menjadi format yang dibutuhkan 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 cara menghasilkan berbagai jenis kunci dan cara mengekspornya ke format lain.

Gunakan ini untuk kunci privat &publik?

Menurut halaman manual, jawabannya adalah ya. Melihat halaman manual untuk ssh-keygen itu menyatakan yang berikut untuk -e beralih:

 -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.

Namun dalam praktiknya akan terlihat bahwa ssh-keygen tidak dapat mengonversi kunci pribadi, hanya kunci publik.

Misalnya:

# 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 diekstraksi yang dihasilkan mengonfirmasi hal 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 ini dari sebuah artikel berjudul:Bagaimana Anda mengonversi file kunci Pribadi OpenSSH ke SSH. Situs tampaknya naik turun tetapi mencari di 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 sebagian besar halaman manual
mengatakan bisa. Mereka mencegahnya sehingga Anda akan menggunakan beberapa kunci
publik. Satu-satunya masalah adalah RCF tidak mengizinkan Anda untuk mendaftarkan lebih dari satu
kunci publik.

Artikel selanjutnya membahas metode untuk mengonversi kunci pribadi openssh ke kunci pribadi ssh.com melalui penggunaan puttygen PuTTY alat. CATATAN: puttygen dapat dijalankan dari Windows &Linux.

Buka 'puttygen' dan buat pasangan kunci publik/pribadi 2048 bit rsa.
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 sama
tetapi program dempul dan OpenSSH memiliki format kunci publik yang berbeda.
Kami akan kembali ke ini nanti. Anda harus dapat memuat kedua
kunci gaya dempul ke dalam program dempul. Namun, format kunci pribadi
untuk dempul dan SSH.com tidak sama sehingga 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
bersifat arbitrer dan Anda dapat memilih sendiri. Anda harus mengubah
nama untuk instalasi pada mesin OpenSSH nanti. Lihat di bawah.

Mengingat hal di atas, saya mengerjakan yang berikut menggunakan 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 adalah indikator yang cukup bagus bahwa perintah di atas berhasil.

Terkait:Ubuntu – Bagaimana cara mengkonfigurasi alamat IP eksternal untuk tamu LXC?

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

Linux
  1. Panduan Komprehensif untuk pengaturan otentikasi berbasis Kunci SSH2

  2. Pengaturan otentikasi berbasis SSH Key dari openSSH ke SSH2

  3. Cara Melakukan SSH dan SCP Tanpa Password dari SSH2 ke OpenSSH

  1. Memahami File Konfigurasi OpenSSH

  2. Gabungkan / ubah beberapa file PDF menjadi satu PDF

  3. Bagaimana cara mengubah kunci .ppk menjadi kunci OpenSSH di Linux?

  1. Cara Mengimpor Kunci Pribadi di FileZilla untuk SFTP

  2. Bagaimana Cara Meneruskan Kunci Ssh yang Sudah Diteruskan Ke Tmux?

  3. SSH dari A sampai B ke C, menggunakan kunci privat di B