मैं मैक ओएस एक्स चला रहा हूं, और ऐसा प्रतीत होता है कि कई मशीनों के लिए SSH करने के बाद, पहचान फ़ाइलों का उपयोग करते हुए, मेरे 'ssh-Agent' बहुत अधिक पहचान / चाबियाँ बनाता है और फिर कभी-कभी एक दूरस्थ मशीन को बहुत अधिक प्रदान करता है, जिससे उन्हें कनेक्ट करने से पहले मुझे किक मारें:
10.12.10.16: 2 से डिस्कनेक्ट किया गया: cwd के लिए बहुत अधिक प्रमाणीकरण विफलताएं
यह स्पष्ट है कि क्या हो रहा है, और यह पृष्ठ इसके बारे में अधिक विस्तार से बात करता है:
SSH सर्वर आपको केवल एक निश्चित संख्या को प्रमाणित करने का प्रयास करने की अनुमति देते हैं। प्रत्येक विफल पासवर्ड प्रयास, प्रत्येक विफल pubkey / पहचान जो की पेशकश की है, आदि, इन प्रयासों में से एक को ले लो। यदि आपके पास अपने एजेंट में बहुत सारी SSH कुंजियाँ हैं, तो आप पा सकते हैं कि SSH सर्वर आपको पासवर्ड प्रमाणीकरण का प्रयास करने की अनुमति देने से पहले आपको बाहर निकाल सकता है। यदि यह मामला है, तो कुछ अलग वर्कअराउंड हैं।
रिबूट करना एजेंट को साफ करता है और फिर सब कुछ ठीक होता है। मैं .ssh/config
पासवर्ड प्रमाणीकरण का उपयोग करने के लिए बाध्य करने के लिए इस लाइन को अपनी फ़ाइल में भी जोड़ सकता हूं :
PreferredAuthentications keyboard-interactive,password
किसी भी तरह, मैंने उस पृष्ठ पर नोट देखा जिसे मैंने एजेंट से चाबियाँ हटाने के बारे में बात करते हुए संदर्भित किया था, लेकिन मुझे यकीन नहीं है कि अगर कोई मैक पर लागू होता है क्योंकि वे किसी भी तरह रिबूट के बाद साफ हो जाते हैं।
क्या 'ssh-Agent' (जो रिबूट में होता है) में सभी कुंजियों को हटाने का एक सरल तरीका है?
ssh-add -l
कुछ नहीं मिलता है। यदि मैं टाइप करता हूं तो मुझेssh -i ~/keyFileLocation.dsa un@remotehost
पासफ़्रेज़ के लिए पूछते हुए एक ओएस एक्स पॉपअप डायलॉग मिलता है। मैं इसे टाइप करता हूं और फिर यह मुझे जोड़ता है। यदि मैं डिस्कनेक्ट करता हूं और फिरssh-add -l
यह टाइप करता है तो मुझे वह पहचान दिखाई जाती है जिसका मैंने अभी उपयोग किया है। कंप्यूटर को पुनरारंभ करने और टाइप करने के बादssh-add -l
यह फिर से रिक्त है।ssh-add -D
पुनः आरंभ किए बिना चाबियों को साफ करने के लिए बहुत अच्छा काम किया। धन्यवाद!