Bu yazının başlığı: SSH: OpenSSH'yi SSH2'ye dönüştürün ve tam tersi , aradığınızı sunar.
OpenSSH anahtarını SSH2 anahtarına dönüştürme
ssh-keygen
Uzak makinede SSH2'nin ihtiyaç duyduğu formata dönüştürmek için OpenSSH ortak anahtarınızın OpenSSH sürümünü çalıştırın . Bu OpenSSH çalıştıran sistemde yapılmalıdır.
$ ssh-keygen -e -f ~/.ssh/id_dsa.pub > ~/.ssh/id_dsa_ssh2.pub
SSH2 anahtarını OpenSSH anahtarına dönüştürme
OpenSSH'nin ssh-keygen
gerektirdiği formata dönüştürmek için ssh2 public anahtarınızın OpenSSH sürümünü çalıştırın . Bunun OpenSSH çalıştıran sistemde yapılması gerekiyor.
$ ssh-keygen -i -f ~/.ssh/id_dsa_1024_a.pub > ~/.ssh/id_dsa_1024_a_openssh.pub
Eğitimde hem çeşitli anahtar türlerinin nasıl üretileceği, hem de diğer formatlara nasıl aktarılacağı gösterilmektedir.
Bunu özel ve genel anahtarlar için mi kullanıyorsunuz?
Man sayfasına göre cevap evet olur. Bunun için man sayfasına bakarak ssh-keygen
, -e
anahtar için aşağıdakileri belirtin:
-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.
Ancak uygulamada ssh-keygen
, özel anahtarları, sadece herkese açık olanları dönüştüremediği anlaşılmaktadır .
Örneğin:
# 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
Elde edilen çıkarılan anahtarlara bakmak şunları doğrular:
$ grep BEGIN newkey_e newkey.pub_e
newkey_e:---- BEGIN SSH2 PUBLIC KEY ----
newkey.pub_e:---- BEGIN SSH2 PUBLIC KEY ----
Birazcık googling başlıklı bir makaleden bu bulanıklığa rastladım: OpenSSH Özel anahtar dosyalarını SSH'ye nasıl dönüştürebilirsiniz ? Site yukarı ve aşağı gibi görünüyordu, ancak Google'ın bu sayfa için önbelleğine bakarken aşağıdaki bulanıklığı buldum:
OpenSSH Özel anahtar dosyalarını SSH.com Özel anahtar dosyalarına nasıl dönüştürebilirsiniz?
Çoğu man sayfalarının yapabileceğini söylese bile, ssh-keygen programı tarafından yapılamaz. Birden fazla ortak anahtar kullanmanız için cesaretini kırıyorlar. Tek sorun, RCF'nin birden fazla ortak anahtar kaydetmenize izin vermeyeceğidir.
Makale, PuTTY puttygen
aracını kullanarak openssh özel anahtarını ssh.com özel anahtarına dönüştürme yöntemini ele alıyor . NOT: puttygen
Windows ve Linux'tan çalıştırılabilir.
'Puttygen'i açın ve bir 2048 bit RSA genel / özel anahtar çifti oluşturun. Oluşturulduktan sonra bir şifre eklediğinizden emin olun. Genel anahtarı "puttystyle.pub" olarak kaydedin ve özel anahtarı "puttystyle" olarak kaydedin. Macun programı ve SSH.com programları ortak bir açık anahtar formatını paylaşır, ancak macun programı ve OpenSSH farklı açık anahtar formatlarına sahiptir. Daha sonra buna geri döneceğiz. Her iki macun stili anahtarını macun programına yükleyebilmelisiniz. Ancak, macun ve SSH.com için özel anahtar biçimleri aynı değildir ve bu nedenle dönüştürülmüş bir dosya oluşturmanız gerekecektir. Dönüşümler menüsüne gidin ve bir SSH.com anahtarı verin. "Sshstyle" olarak kaydedin. Şimdi dönüşümler menüsüne geri dönün ve bir openssh anahtarı verin. "Openssh" olarak kaydedin. Bu isimler keyfidir ve kendi isminizi seçebilirsiniz. Daha sonra bir OpenSSH makinesine kurulum için isimleri değiştirmeniz gerekecektir. Aşağıya bakınız.
Yukarıdakiler göz önüne alındığında, puttygen
daha önce oluşturulan özel / genel openssh anahtar çiftini kullanarak aşağıdakileri kullandım :
# 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
Yorum farklıdır, bu nedenle sadece sonuçta elde edilen dosyaları karşılaştıramazsınız, bu nedenle tuşların ilk birkaç satırına bakarsanız, yukarıdaki komutların başarılı olduğuna dair oldukça iyi bir göstergedir.
Public ssh.com anahtarlarının karşılaştırılması:
$ 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
Genel openssh anahtarlarının karşılaştırılması:
$ cut -c 1-100 newkey.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY
$ cut -c 1-100 newkey.pub_puttygen-openssh
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY