OS X Mavericks में पासवर्ड संरक्षित SSH कुंजी को अनलॉक नहीं कर सकता


18

मैंने अभी OSX 10.9 में अपग्रेड किया है, और जब सार्वजनिक कुंजी प्रमाणीकरण के साथ SSH कनेक्शन स्थापित करने की कोशिश कर रहा है, तो एक संकेत मेरी SSR कुंजी पासवर्ड के लिए पूछ रहा है।

मैंने शुरू में सोचा था कि उन्नयन के कारण किचेन में कुछ पासवर्ड भूल गए हैं, इसलिए मैंने खदान में फिर से प्रवेश किया। जाहिर है, यह कारण नहीं था, क्योंकि संकेत फिर से प्रकट होता रहा।

हालांकि मैं पहली बार गलत पासवर्ड का उपयोग कर रहा हूं, लेकिन निम्नलिखित कमांड:

$ ssh-keygen -vvv -y -f id_rsa >| id_rsa.pub
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase:
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
load failed

...काम नहीं करता! अगर मैं खुलने का उपयोग करने की कोशिश करता हूं:

$ openssl rsa -in id_rsa -text
Enter pass phrase for id_rsa:
Private-Key: (2048 bit)
modulus:
    00:...

मेरी निजी कुंजी सही ढंग से डिक्रिप्टेड है और सभी जानकारी मुद्रित है।

मावेरिक्स के उन्नयन के साथ क्या हुआ? मैं अपनी निजी कुंजी को एक उपयोगी स्थिति में कैसे वापस ला सकता हूं?

जवाबों:


22

जाहिर है, मैं अपनी मशीन पर निजी कुंजी का उपयोग कर रहा था। मेरी कुंजी में निजी कुंजी फ़ाइल में जोड़ी गई एन्क्रिप्शन जानकारी शामिल नहीं है अगर मैं एक नया उत्पन्न करता हूं:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-...

समस्या को हल करने के लिए, मैंने खुलने वाली कुंजी को डिक्रिप्ट किया:

$ cd ~/.ssh
$ cp id_rsa id_rsa.bck
$ openssl rsa -in id_rsa -out id_rsa

... और फिर उसे एन्क्रिप्ट किया गया:

$ openssl rsa -in id_rsa -aes256 -out id_rsa
$ chmod 0600 id_rsa

और बस मामले में, सार्वजनिक कुंजी को भी पुनर्जीवित करें:

$ ssh-keygen -y -f id_rsa > id_rsa.pub

3

मुझे भी यही समस्या थी। मैंने इसे .ssh / अधिकृत_keys2 से .ssh / प्राधिकृत_की ओर ले जाकर हल किया।

फ़ाइल / etc / sshd_config में स्पष्ट रूप से ये पंक्तियाँ हैं:

\# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
\# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile  .ssh/authorized_keys

यह पिछले macosx संस्करण से एक बदलाव है?


1
यह समस्या एक अलग तरह से भी है। मेरे मामले में मैं अपनी निजी कुंजी को डिक्रिप्ट नहीं कर पा रहा था ।
गेरेटाक्स

2

एक ही समस्या यहाँ, मेरी चाबियाँ एक ही व्यवहार दिखाती हैं।

मैंने इस ब्लॉग पोस्ट में समस्या को ट्रैक किया। मैंने अपनी ssh- कुंजियों को संशोधित किया जिस तरह से इस कलाकृति में इसे सुरक्षा बढ़ाने के लिए वर्णित किया गया था और इसने माउंटेन शेर का काम किया। http://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html

मुझे लगता है कि Apple ने खुलने के साथ कुछ बदल दिया है और "नया" संस्करण नए PKCS # 8 प्रारूप को पढ़ने में सक्षम नहीं है।

मेरा Mavericks OpenSSH संस्करण: OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011

मेरे पास कोई अन्य मैक नहीं है इसलिए मैं इसे माउंटेन लायन संस्करण से तुलना नहीं कर सकता।


/usr/bin/ssh -VOpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011मेरे 10.8.0 वीएम पर प्रिंट ।
लारी

इंटरसेस्टिंग, यदि आपके पास समय है तो आप जांच कर सकते हैं कि "ssh-keygen -vvv -y -f id_rsa" शो क्या है यदि आप pkcs # 8 कुंजी का उपयोग करते हैं?
ट्रिपलेट

मेरे pkcs # 8 कुंजी, उसी लिंक के माध्यम से प्राप्त, यह दिखाता है: gist.github.com/cbowns/7359383/raw/…
cbowns

2

काढ़ा का उपयोग करता है Opensl और खुलता है Mavericks पर PCKS # 8 समस्या को हल करता है।

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

मुझे यकीन नहीं है कि अगर खुलने वाली फोर्स लिंकिंग माव्रिक पर कुछ भी तोड़ती है। अब तक, मैंने किसी भी मुद्दे पर ध्यान नहीं दिया है।


0

मैं केवल निम्नलिखित कार्य करके इस समस्या को हल करने में सक्षम था:

cd ~/.ssh
mv known_hosts known_hosts.old

अब जाकर कनेक्ट करें। जब यह फिंगरप्रिंट प्रकार को हां में जोड़ने के लिए मानक प्रश्न पूछता है।


लेकिन फिंगरप्रिंट जांचना न भूलें!
zgg

1
यह एक अलग समस्या है जो मैं पूछ रहा था। ज्ञात मेजबानों की फ़ाइल का यहाँ की समस्या से कोई लेना देना नहीं है (निजी कुंजी को डिक्रिप्ट करना)
GaretJax

0

इस समस्या को प्राप्त किया। सिफर को निर्दिष्ट करने की कोशिश करके, मैं इसे अच्छी तरह से काम करने में सक्षम था।

लिनक्स पर, जब आप मुख्य जोड़े बनाने की कोशिश करते हैं, तो इसका उपयोग करें:

ssh-keygen -t rsa -Z aes256

सार्वजनिक कुंजी अब सिफर aes256 के साथ OSX पर ssh द्वारा सही पहचानी जा सकती है (यहाँ, मेरा 10.12.1 है)।


0

आप PuTTY कुंजी को OpenSSL OS X कुंजी में बदल सकते हैं:

puttygen putty.ppk -O private-openssh -o osx.key

पासफ़्रेज़ टाइप करें और आपका काम हो गया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.