Ssh-keygen .pub प्रारूप .pem फ़ाइलों के साथ कैसे काम करता है?


17

ssh-keygenआदेश उत्पन्न .pubफ़ाइलें जो इसे "सार्वजनिक कुंजी फ़ाइलें" के रूप में वर्णन करता है, लेकिन वे सबसे "सार्वजनिक कुंजी फ़ाइलें" मैं आमतौर पर देखा है, जो PEM प्रारूप में हैं करने के लिए एक पूरी तरह से अलग प्रारूप हैं। ssh-keygenशैली फ़ाइलें इस तरह दिखेगा:

ssh-rsa AAAAB3NzaC1... user@host

... जबकि PEM फाइलें इस तरह दिखती हैं:

-----BEGIN CERTIFICATE-----
MIIGZjCCBU6gAwIBAgIDCIrNMA0GCSqGSIb3DQEBBQUAMIGMMQsw...
-----END CERTIFICATE-----

क्या ये दो प्रारूप विनिमेय हैं, या वे एक मौलिक रूप से भिन्न उद्देश्य का प्रदर्शन कर रहे हैं? मैं इस समस्या के कारण आया क्योंकि मैं अपनी पीईएम-एन्कोडेड सार्वजनिक कुंजी फ़ाइल का आरएसए 2 कुंजी फिंगरप्रिंट प्राप्त करना चाहता था, लेकिन आमतौर पर इसे करने के लिए सुझाया गया तरीका ( ssh-keygen -l) कहता है कि मेरी पीईएम-एन्कोडेड फ़ाइल "सार्वजनिक कुंजी फ़ाइल नहीं है"।

वैसे, मैं इस उत्तर से अवगत हूँ , लेकिन यह .pub द्वारा उत्पन्न फ़ाइलों को कवर नहीं करता है ssh-keygen


1
ठीक है, एक एसएसएच सार्वजनिक कुंजी पीईएम प्रारूप में एक प्रमाण पत्र के समान नहीं है। क्या आपने इस पर ध्यान दिया है? serverfault.com/questions/114301/…
ccc

2
यहां विशेष रूप से होना महत्वपूर्ण है, कि आप शायद ओपनएसएसएच को देख रहे हैं, न कि कम सामान्य एसएसएच.काम, या अन्य कार्यान्वयन। मानक PEM एन्कोडेड सार्वजनिक कुंजी वास्तव में कुछ कम सामान्य कार्यान्वयन के लिए मान्य है। मुझे पता है कि एक वीएमएस बॉक्स जो मुझे PEM फ़ाइल की आवश्यकता है, से जोड़ता है।
ज़ॉडेचेस

@cjc, ठीक है, यह एक प्रमाण पत्र नहीं है, लेकिन यह भी वैसा नहीं है जैसा कि आप को चलाने से मिलता है openssl rsa -in privatekey_rsa -pubout, जो वास्तव में एक सार्वजनिक कुंजी है, और प्रमाण पत्र नहीं है।
ज़ोराडेक २

जवाबों:


8

ओपनएसएसएच की प्रमुख जोड़ी पीईएम या कोई अन्य एक्स 500 मानक नहीं हैं। OpenSSH के नए संस्करण X.509 PEM कुंजियों का उपयोग कर सकते हैं, लेकिन यह ssh-keygen से अलग मोम की एक और गेंद है, और इसे स्पष्ट रूप से कॉन्फ़िगर करना होगा। जैसा कि मुझे पता है, SSH का कोई भी प्रमुख कार्यान्वयन किसी अन्य के समान सटीक कुंजी प्रारूपों का उपयोग नहीं करता है।

Zoredache नोटों के रूप में , यदि आप OpenSSH (deus iuvo vos) के अलावा कुछ का उपयोग कर रहे हैं, तो यह किसी भी चीज़ से अलग हो सकता है।


1
हां, वास्तव में, मैंने एसएसएच और एसएसएल को भ्रमित कर दिया था! मेरा OpenSSH डेमन वास्तव में .pubमेरे सर्वर पर एक फ़ाइल /etc/ssh/ssh_host_rsa_key.pubका उपयोग कर रहा था , और एसएसएल प्रमाणपत्र प्राधिकारी वास्तुकला में से किसी का भी उपयोग नहीं कर रहा था। जब मैं ssh-keygen -lउस फाइल पर भागा , तो उसने मुझे सर्वर का RSA2 कुंजी फिंगरप्रिंट दिया।
Jez
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.