मेरे पास एक PEM फ़ाइल है जिसे मैं एक चलित ssh-Agent में जोड़ता हूं:
$ file query.pem
query.pem: PEM RSA private key
$ ssh-add ./query.pem
Identity added: ./query.pem (./query.pem)
$ ssh-add -l | grep query
2048 ef:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX ./query.pem (RSA)
मुझे फ़ाइल से सीधे कुंजी का फिंगरप्रिंट (जो मैं ssh- एजेंट में दिखता है) कैसे प्राप्त कर सकता हूं? मुझे पता है कि ssh-keygen -l -f some_key"सामान्य" ssh कुंजी के लिए काम करता है, लेकिन PEM फ़ाइलों के लिए नहीं।
अगर मैं .pem फ़ाइल पर ssh-keygen आज़माता हूँ, तो मुझे यह मिलता है:
$ ssh-keygen -l -f ./query.pem
key_read: uudecode PRIVATE KEY----- failed
key_read: uudecode PRIVATE KEY----- failed
./query.pem is not a public key file.
इस कुंजी के साथ शुरू होता है:
-----BEGIN RSA PRIVATE KEY-----
MIIEp.... etc.
"नियमित" निजी कुंजी के विपरीत, जो दिखता है:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,E15F2.... etc.
ssh-keygen -lएक प्राइवेटकी फाइल नहीं पढ़ सकता, हालांकि अन्य ssh-keygen(और ssh*) ऑपरेशन करते हैं। लेकिन जब ssh-keygen उत्पन्न करता है एक महत्वपूर्ण यह दोनों privatekey फ़ाइल जैसे लिखते हैं id_rsa और के साथ एक इसी publickey फ़ाइल .pubजोड़ा जैसे id_rsa.pub। पुराना आपके द्वारा निर्दिष्ट फ़ाइल नाम में जोड़ने की कोशिश ssh-keygen -l करेगा.pub और उस publickey फ़ाइल को पढ़ेगा।
.ssh/id_rsaOpenSSH द्वारा बनाई गई एक फ़ाइल सभी डिफ़ॉल्ट का उपयोग कर एक PEM फ़ाइल है। निजी कुंजी PEM डिफ़ॉल्ट रूप से एन्कोडेड हैं। वास्तव में आप ओपनएसएसएल के साथ सीधे ओपनएसएसएल के साथ उत्पन्न आरएसए कुंजी का उपयोग कर सकते हैं।