जब आप ssh-add कमांड का उपयोग करके एक कुंजी पासफ्रेज़ जोड़ने का प्रयास करते हैं तो आपको एक त्रुटि मिल सकती है जिसमें लिखा होता है "could not open a connection to your authentication agent"। यह विशेष समस्या आमतौर पर ssh-agent को सही ढंग से असाइन न किए जाने के कारण होती है, यही कारण है कि इतने सारे लोग इसे थोड़ी असामान्य परिस्थितियों में एक समस्या बनते हुए पाते हैं।
उदाहरण के लिए, आप पा सकते हैं कि आपको यह त्रुटि तब मिलती है जब आप Raspbian चलाने वाले RaspberryPi, एक फिश्ड आउट कमांड प्रॉम्प्ट वाले एम्बेडेड राउटर, या एक एंड्रॉइड लिनक्स टर्मिनल का उपयोग कर रहे होते हैं। आप इसे एक साधारण कमांड से आसानी से ठीक कर सकते हैं जिसके लिए आपको किसी भी प्रकार के डिवाइस पर या आप जिस शेल से काम कर रहे हैं, उस पर कोई छेड़छाड़ करने की आवश्यकता नहीं होती है।
प्रमाणीकरण एजेंट त्रुटियाँ ठीक करना
यह मानते हुए कि आपके पास पहले से ही ssh-agent चल रहा है, आपको इसे फिर से शुरू नहीं करना चाहिए। इसके बजाय, आप कमांड लाइन से ssh-add चलाकर अपनी कुंजी पासफ्रेज़ जोड़ने का प्रयास करना चाहेंगे। जब आप ऐसा करते हैं, तो आपको सबसे अधिक संभावना है कि "Could not open a connection to your authentication agent" जैसी कोई त्रुटि प्राप्त होगी साथ में आमतौर पर कोई अन्य टेक्स्ट नहीं। यह बिल्कुल सबसे सहायक कमांड नहीं है, और कुछ उपयोगकर्ता पाते हैं कि वे उत्तर मिलने से पहले लंबे समय तक इसके साथ खेलते हैं क्योंकि यह उन्हें सही उत्तर के रास्ते पर नहीं ले जाता है।
सबसे पहले, हालांकि यह थोड़ा पांडित्यपूर्ण लगता है, जांचें कि क्या आप इंटरनेट या किसी अन्य प्रकार के नेटवर्किंग प्रोटोकॉल से जुड़े हैं जिसके साथ आप काम कर रहे हैं क्योंकि हो सकता है कि आप केवल नेटवर्क से जुड़े न हों। यह विशेष रूप से एक समस्या है जब आप किसी प्रकार के नॉन-स्टैंडर्ड LAN उपकरण के साथ काम कर रहे हैं जहां आप केवल किसी प्रकार के प्राइवेट नेटवर्क पर ssh का उपयोग कर रहे हैं बजाय ईथरनेट या वाई-फाई के माध्यम से।
जब तक आप सुनिश्चित हैं कि आप जुड़े हुए हैं, ssh-add ~/.ssh/id_rsa का उपयोग करने का प्रयास करें, फ़ाइल नाम को उस कुंजी के वास्तविक फ़ाइल नाम से बदलें जिसे आप जोड़ने का प्रयास कर रहे थे। हमने वास्तव में अपनी टेस्ट मशीन पर कुंजी का नाम ~/.ssh/id_rsa रखा था, जो नमूने का नाम है हालांकि आपके पास शायद एक अलग नाम है। आपको "Enter passphrase" के लिए एक प्रॉम्प्ट मिल सकता है, जो लिनक्स वर्चुअल टर्मिनल में उन लोगों की तरह साइलेंट है। यदि यह आपकी पासफ्रेज़ स्वीकार करता है, तो आप पूरी तरह से ठीक हैं और किसी और काम की आवश्यकता नहीं है।
दूसरी ओर, यदि आपको फिर से "Could not open a connection to your authentication agent" त्रुटि मिलती है, तो एजेंट को पूर्ण पुनः असाइनमेंट की आवश्यकता है। यदि आप नियमित शेल के साथ काम कर रहे हैं, तो बस ssh-agent /bin/sh चलाएं और फिर ssh-add ~/.ssh/id_rsa, एक बार फिर कुंजी के नाम को बदलना सुनिश्चित करें। इस बिंदु पर आपके पास प्रॉम्प्ट होना चाहिए। जो लोग प्योर बैश का उपयोग कर रहे हैं और अपने ssh क्लाइंट में कुछ "bashisms" होने से कोई फर्क नहीं पड़ता, वे केवल ssh-agent bash का उपयोग कर सकते हैं और फिर ssh-add कमांड का उपयोग कर सकते हैं। अधिकांश लोग पाएंगे कि रूट और नियमित दोनों उपयोगकर्ताओं के पास उनके पथ में बैश है और उन्हें किसी और चीज की आवश्यकता नहीं है।
fish-shell के उपयोगकर्ता या तो ssh-agent /usr/bin/fish और फिर ssh-add ~/.ssh/id_rsa आज़माना चाहेंगे। उपरोक्त, हालांकि, उन लोगों के लिए भारी बहुमत में ठीक काम करेगा जो बॉर्न, बैश या अल्मक्विस्ट शेल का उपयोग कर रहे हैं। यदि चीजें अब काम कर रही हैं, तो आपको कुछ और करने की आवश्यकता नहीं है। जो C-Shell या tcsh का उपयोग कर रहे हैं वे इस बिंदु पर एक समस्या में पड़ सकते हैं, हालांकि।
यदि आप इस स्थिति में हैं, तो eval 'ssh-agent -c' और फिर ssh-add ~/.ssh/id_rsa आज़माएं ताकि आपका शेल एजेंट पंजीकृत हो जाए। ऐसा इसलिए है क्योंकि tcsh चीजों को थोड़ा अलग तरीके से करता है, हालांकि अधिकांश एम्बेडेड सिस्टम और इस तरह के में यह नहीं होगा। किसी भी मामले में, आपके पास इस बिंदु पर एक कार्यशील ssh कनेक्शन होना चाहिए जब तक आपने सब कुछ सही ढंग से टाइप किया है। यदि आप कोई गलती करते हैं, तो आप बस कमांड को दोहरा सकते हैं क्योंकि इनमें से कोई भी विनाशकारी नहीं है।
आपके कॉन्फ़िगरेशन के आधार पर, आपको हर बार अपने ssh कनेक्शन पर लॉग ऑन करने के बाद पुनरारंभ करने पर यह करना पड़ सकता है। किसी भी मामले में, हालांकि, समस्या एक ही कमांड से आसानी से ठीक हो जाती है इसलिए आपको बाद में इसके साथ खेलते हुए बैठने की आवश्यकता नहीं होगी।
लेखक के बारे में

केविन एरोज
केविन एरोज एक अत्यधिक अनुभवी और जानकार प्रौद्योगिकी विशेषज्ञ हैं जिनके पास एक दशक से अधिक का उद्योग अनुभव है। उनके पास माइक्रोसॉफ्ट सर्टिफाइड टेक्नोलॉजी स्पेशलिस्ट (MCTS) प्रमाणन है और नवीनतम तकनीकी विकास पर अपडेट रहने का गहरा जुनून है। केविन ने तकनीक से संबंधित विषयों की एक विस्तृत श्रृंखला पर व्यापक रूप से लिखा है, जिसमें सॉफ्टवेयर विकास, साइबर सुरक्षा और क्लाउड कंप्यूटिंग जैसे क्षेत्रों में उनकी विशेषज्ञता और ज्ञान प्रदर्शित होता है। तकनीकी क्षेत्र में उनके योगदान को उनके साथियों द्वारा व्यापक रूप से मान्यता प्राप्त और सम्मानित किया गया है, और उन्हें जटिल तकनीकी अवधारणाओं को स्पष्ट और संक्षिप्त तरीके से समझाने की उनकी क्षमता के लिए उच्च माना जाता है।