macOS 10.12 सिएरा मेरी ssh कीफाइल पासफ़्रेज़ को नहीं भूलेगी


25

पहली बार एक नई एन्क्रिप्टेड id-rsaकुंजी फ़ाइल बनाने ssh-keygenऔर उसका उपयोग करने के बाद, मुझे पासफ़्रेज़ को भूलने के लिए macOS नहीं मिल सकता है। यह ओएस एक्स बनाने के लिए कैसे ssh कुंजी पासफ़्रेज़ याद नहीं है लेकिन बदतर के समान है।

मैंने रिबूट करने की कोशिश की, हत्या की ssh-agent, मेरे सभी किचेन को बंद कर दिया , लेकिन यह अभी भी कहीं-कहीं जमा हुआ लगता है। हालाँकि, मैं इसे किसी भी किचेन में नहीं ढूँढ सकता। यह बहुत असुरक्षित लगता है। SSH निजी कुंजी पासवर्ड के उत्तर कुंजीचैन / ssh- एजेंट के साथ कभी भी नहीं हटाए जाते हैं।

वास्तव में, संवाद जो आपसे पूछता था कि क्या आप पासफ़्रेज़ को स्टोर करना चाहते हैं या नहीं, अब मौजूद नहीं है।


क्या आपने जाँच की कि क्या यह वास्तव में एन्क्रिप्टेड है?
जॉन कीट्स

हाँ। यकीन है कि यह ssh है के रूप में पहली बार मैं इसे उपयोग करने के लिए पासफ़्रेज़ के लिए पूछता हूँ। क्या कोई वास्तव में इसे पुन: पेश कर सकता है?
hogliux

ठीक है, यह मेरे सेटअप के साथ भी काम करता है, यह ssh / ssh- एजेंट को कॉन्फ़िगर करने का तरीका है।
जॉन कीट्स सेप

यह सच है अगर आप चाबी का गुच्छा में पासफ़्रेज़ को स्टोर करने के लिए macOS बताने के लिए चेकबॉक्स पर क्लिक करते हैं। हालाँकि, यदि आप उस चेकबॉक्स को क्लिक नहीं करते हैं तो हमेशा macOS पासफ़्रेज़ के लिए पूछना चाहिए। लेकिन भले ही आपने इसे क्लिक किया था, आप हमेशा किचेन उपयोगिता में इसे फिर से निकालने में सक्षम थे। चूंकि सिएरा संवाद बॉक्स अब दिखाई नहीं देता है और किचेन उपयोगिता में कोई प्रविष्टि नहीं है।
hogliux

यह वह डायलॉग बॉक्स है जिसके बारे में मैं बात नहीं कर रहा हूं: dribin.org/dave/resources/pictures/ssh_leopard_dialog.png
hogliux

जवाबों:


27

किचेन में स्टोरेज पासफ़्रेज़ को निष्क्रिय करने के लिए आपको निम्नलिखित पंक्तियों को ~ / .ssh / config फाइल में जोड़ना चाहिए :

Host *
UseKeyChain no

यदि आपके पास चाबी का गुच्छा में पहले से ही पासफ़्रेज़ संग्रहीत है तो आप इसे कमांड का उपयोग करके हटा सकते हैं:

cd ~/Library/Keychains/<UUID>/
sqlite3 keychain-2.db 'delete from genp where agrp="com.apple.ssh.passphrases"'

यदि आप OS X El Capitan या उससे पहले जैसा व्यवहार करना चाहते हैं (यानी लॉगआउट या रीस्टार्ट तक संग्रहीत पासफ़्रेज़) बस ~ / .ssh / config में जोड़ें:

AddKeysToAgent yes

आपको ssh-agent शुरू करने की आवश्यकता नहीं है।


1
यह उत्तर स्थायी रूप से समस्या को हल करता है! इसलिए मैंने इसे सही उत्तर के रूप में चिह्नित किया। धन्यवाद!
hogliux

सुझाया गया संपादन: परिवर्तन Library/Keychains/<UUID>/के ~/Library/Keychains/<UUID>/लिए स्पष्टता :)
मोहम्मद हाफ़िज़

सुझाए गए संपादन स्वीकार किए जाते हैं :)
mbamac

20

क्लाइव के लिए धन्यवाद, मुझे इस नए 'फीचर' की बेहतर समझ है। जब आप अपने पासफ़्रेज़ में टाइप करते हैं, तो सिएरा इसे आपके किचेन में जोड़ता है, लेकिन ssh- एजेंट के लिए नहीं। यदि आपकी पहचान ssh- एजेंट में नहीं है, तो इसे प्रबंधित करने का कोई तरीका नहीं है ssh-add। किचेन से अपनी पहचान (यानी हटाएं) करने के लिए आपको अपनी पहचान का ssh-agentउपयोग करके जोड़ना होगा ssh-add। एक बार जब आप अपनी पहचान जोड़ लेते हैं तो ssh-agentआप ssh-add -K -dइसे ssh-agentऔर किचेन दोनों से हटा सकते हैं । यदि आप चाहते हैं कि आपकी पहचान हर बार ssh जोड़ते समय ssh-agent में जोड़ी जाए:

AddKeysToAgent yes

अपने को .ssh/config। यह सुनिश्चित करेगा कि ssh-agentहमेशा आपकी पहचान है।


बस एक फॉलोअप है। यदि आप अपने .ssh / config में 'UseKeyChain no' जोड़ते हैं तो यह किचेन को आपके पासफ़्रेज़ को जोड़ने से रोक देगा। आप ssh- एजेंट में 'AddKeysToAgent हां' रखना चाहते हैं, जब तक आप रिबूट या ssh-add -d का उपयोग नहीं करते, तब तक आप अपना पासफ़्रेज़ रखेंगे।
जीन फ्रेनकलर

ध्यान दें कि Apple द्वारा शिप किए गए OpenSSH के उपयोग की आवश्यकता है। इस पैच को घर के काढ़े में शामिल नहीं किया गयाhomebrew/dupes/openssh: stable 7.3p1
रयान गिबन्स

3
ssh-add -K -d

यह चाबी का गुच्छा में पहले से संग्रहीत पासफ्रेज को हटा सकता है। MacOS 10.12 सिएरा के बाद से, चाबी का गुच्छा में संग्रहीत पासफ़्रेज़ से बचने के लिए, ssh-addपहले करना सुनिश्चित करें ।


हाँ। यह macOS Sierra के पिछले संस्करणों पर काम करता था। लेकिन अब काम नहीं करता है। macOS Sierra अभी भी पासफ़्रेज़ को याद करती है।
hogliux

1
ठीक है। अधिक जांच। यह इसे एक बार भूल जाता है, लेकिन यह कहीं भी (एसएचएस, एसपीपी, गिट आदि) का उपयोग करने के बाद सीधे किचेन में चला जाएगा। किसी तरह के अजनबी ने मुझे सीधे ई-मेल किया और पता चला कि पासफ़्रेज़ ~ / लाइब्रेरी / किचेन / <SOME-UUID> /keychain-2.db में संग्रहीत किया जा रहा है। लेकिन यहां तक ​​कि मेरे लॉगिन किचेन (और अन्य सभी किचेन) को लॉक करने पर, पासफ़्रेज़ एक्सेस करते समय ओएस एक्स मेरे किचेन पासवर्ड के लिए नहीं पूछेगा। यह वास्तव में सही नहीं लगता है।
hogliux

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