इस ट्यूटोरियल का शीर्षक: SSH: OpenSSH को SSH2 में कनवर्ट करें और vise versa प्रस्तुत करता है जो आप खोज रहे हैं।
OpenSSH कुंजी को SSH2 कुंजी में बदलें
ssh-keygen
दूरस्थ मशीन पर SSH2 द्वारा आवश्यक प्रारूप में परिवर्तित करने के लिए अपनी OpenSSH सार्वजनिक कुंजी पर OpenSSH संस्करण चलाएँ । यह ओपनएसएसएच चलाने वाले सिस्टम पर किया जाना चाहिए।
$ ssh-keygen -e -f ~/.ssh/id_dsa.pub > ~/.ssh/id_dsa_ssh2.pub
SSH2 कुंजी को OpenSSH कुंजी में बदलें
OpenSSH ssh-keygen
द्वारा आवश्यक स्वरूप में परिवर्तित करने के लिए अपनी ssh2 सार्वजनिक कुंजी पर OpenSSH संस्करण चलाएँ । यह OpenSSH चलाने वाले सिस्टम पर किए जाने की आवश्यकता है।
$ ssh-keygen -i -f ~/.ssh/id_dsa_1024_a.pub > ~/.ssh/id_dsa_1024_a_openssh.pub
ट्यूटोरियल यह दिखाने के लिए जाता है कि दोनों विभिन्न प्रकार की कुंजी कैसे उत्पन्न करते हैं और उन्हें अन्य प्रारूपों में कैसे निर्यात करें।
निजी और सार्वजनिक कुंजी के लिए इसका उपयोग करें?
मैन पेज के मुताबिक, इसका जवाब हां में होगा। ssh-keygen
इसके लिए मैन पेज -e
देखना स्विच के लिए निम्नलिखित बताता है :
-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.
लेकिन व्यवहार में यह प्रतीत होता है कि ssh-keygen
निजी चाबियाँ, केवल सार्वजनिक लोगों को परिवर्तित नहीं कर सकती हैं।
उदाहरण के लिए:
# 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
परिणामी कुंजियों को देखते हुए इसकी पुष्टि की जाती है:
$ grep BEGIN newkey_e newkey.pub_e
newkey_e:---- BEGIN SSH2 PUBLIC KEY ----
newkey.pub_e:---- BEGIN SSH2 PUBLIC KEY ----
थोडा गुगली करते हुए मैं एक लेख के शीर्षक से इस ब्लर्ब पर आया: आप ओपनएसएसएच निजी कुंजी फाइलों को एसएसएच में कैसे परिवर्तित करते हैं । यह साइट ऊपर-नीचे होती दिख रही थी लेकिन इस पृष्ठ के लिए Google के कैश में देखने पर मुझे निम्नलिखित ब्लर्ब मिला:
आप OpenSSH निजी कुंजी फ़ाइलों को SSH.com निजी कुंजी फ़ाइलों में कैसे परिवर्तित करते हैं?
यह ssh-keygen प्रोग्राम द्वारा नहीं किया जा सकता है, भले ही अधिकांश मैन पेज यह कहते हैं। वे इसे हतोत्साहित करते हैं ताकि आप कई सार्वजनिक कुंजियों का उपयोग करेंगे। एकमात्र समस्या यह है कि आरसीएफ आपको एक से अधिक सार्वजनिक कुंजी पंजीकृत करने की अनुमति नहीं देगा।
यह लेख PuTTY के puttygen
टूल के उपयोग के माध्यम से एकshsh.com निजी कुंजी को ssh.com निजी कुंजी में परिवर्तित करने के लिए एक विधि को कवर करने के लिए जाता है । नोट: puttygen
विंडोज और लिनक्स से चलाया जा सकता है।
'पुट्टीजेन' खोलें और 2048 बिट आरएसए सार्वजनिक / निजी कुंजी जोड़ी बनाएं। सुनिश्चित करें कि आप जनरेट होने के बाद एक पासवर्ड जोड़ें। सार्वजनिक कुंजी को "puttystyle.pub" के रूप में सहेजें और निजी कुंजी को "puttystyle" के रूप में सहेजें। पोटीन प्रोग्राम और SSH.com प्रोग्राम एक साझा सार्वजनिक-कुंजी प्रारूप साझा करते हैं लेकिन पोटीन कार्यक्रम और OpenSSH के अलग-अलग सार्वजनिक-कुंजी प्रारूप हैं। हम इस पर वापस आएंगे, बाद में। आपको पुट्टी कार्यक्रम में दोनों पुट्टीज़ कीज़ को लोड करने में सक्षम होना चाहिए। हालांकि, पोटीन और SSH.com के लिए निजी कुंजी प्रारूप समान नहीं हैं और इसलिए आपको परिवर्तित फ़ाइल बनानी होगी। रूपांतरण मेनू पर जाएं और SSH.com कुंजी निर्यात करें। इसे "sshstyle" के रूप में सहेजें। अब रूपांतरण मेनू पर वापस जाएं और खुलने वाली कुंजी निर्यात करें। इसे "ओपनश" के रूप में सहेजें। ये नाम मनमाने हैं और आप अपना खुद का चयन कर सकते हैं। आपको बाद में ओपनएसएसएच मशीन पर स्थापना के लिए नामों को बदलना होगा। निचे देखो।
ऊपर दिए गए कार्यों को देखते हुए मैंने निम्नलिखित प्रयोग किया puttygen
, हमारे पहले से निर्मित निजी / सार्वजनिक ओपनशीश की-जोड़ी का उपयोग करके:
# 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
टिप्पणी अलग है इसलिए आप केवल परिणामी फ़ाइलों की तुलना नहीं कर सकते हैं, इसलिए यदि आप कुंजियों की पहली कुछ पंक्तियों को देखते हैं, तो यह एक बहुत अच्छा संकेतक है कि उपरोक्त कमांड सफल थे।
सार्वजनिक ssh.com कुंजियों की तुलना:
$ 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
सार्वजनिक ओपनश कीज़ की तुलना:
$ cut -c 1-100 newkey.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY
$ cut -c 1-100 newkey.pub_puttygen-openssh
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY