Mac पर, Terminal खोलें और ssh-add -l चलाएँ। यह उस Terminal सत्र से जुड़े SSH एजेंट के माध्यम से उपलब्ध पहचानों के फ़िंगरप्रिंट और टिप्पणियाँ सूचीबद्ध करता है; यह निजी कुंजी (private key) सामग्री को प्रदर्शित नहीं करता है। यदि एजेंट में कोई पहचान नहीं है, तो कमांड इसकी रिपोर्ट करता है। इसे वर्तमान एजेंट कनेक्शन की जाँच मानें, न कि आपके Mac पर संग्रहीत कुंजियों की पूरी सूची।

वर्तमान एजेंट में मौजूद पहचानों को सूचीबद्ध करें

Terminal में, यह दर्ज करें:

ssh-add -l

-l विकल्प एजेंट द्वारा प्रस्तुत पहचानों के फ़िंगरप्रिंट सूचीबद्ध करता है। OpenSSH का डिफ़ॉल्ट फ़िंगरप्रिंट प्रारूप SHA-256 है। प्रत्येक परिणाम में आम तौर पर एक कुंजी का आकार (key size), फ़िंगरप्रिंट, कुंजी टिप्पणी (key comment) और एल्गोरिदम शामिल होता है; टिप्पणी कुंजी की पहचान करने में मदद कर सकती है, लेकिन यह उपयोगकर्ता द्वारा दिया गया टेक्स्ट है और यह इस बात का प्रमाण नहीं है कि कौन-सा खाता या सर्वर इसे स्वीकार करेगा। OpenSSH ssh-add(1) मैनुअल

यह कमांड केवल सूची का अनुरोध करता है। यह पहचानों को जोड़ता या हटाता नहीं है। जाँच करते समय ssh-add -D और ssh-add -d से बचें: ये विकल्प पहचानों को हटा देते हैं। यदि आपका उद्देश्य यथासंभव कम जानकारी उजागर करना है, तो ssh-add -L से भी बचें। वह विकल्प एजेंट में मौजूद पहचानों के सार्वजनिक कुंजी पैरामीटर (public key parameters) को प्रिंट करता है। एक सार्वजनिक कुंजी कोई निजी कुंजी नहीं होती, लेकिन यह फ़िंगरप्रिंट की तुलना में अधिक पहचान योग्य जानकारी होती है। OpenSSH ssh-add(1) मैनुअल

खाली सूची या कनेक्शन त्रुटि को समझें

यदि आउटपुट कहता है कि एजेंट में कोई पहचान नहीं है, तो इस Terminal द्वारा पहुँचे गए एजेंट के पास रिपोर्ट करने के लिए कुछ भी नहीं है। यह स्थापित नहीं करता कि आपके डिस्क पर, हार्डवेयर ऑथेंटिकेटर में, या कहीं और कोई SSH कुंजी नहीं है। न ही यह साबित करता है कि कोई अन्य ऐप या Terminal विंडो उसी एजेंट का उपयोग करती है। OpenSSH एजेंट का पता लगाने के लिए SSH_AUTH_SOCK एनवायरनमेंट वेरिएबल पर निर्भर करता है, इसलिए अलग-अलग सत्र अलग तरह से जुड़े हो सकते हैं। OpenSSH ssh-add(1) मैनुअल

यदि इसके बजाय आपको "Could not open a connection to your authentication agent" जैसी त्रुटि दिखाई देती है, तो वर्तमान शेल एजेंट सॉकेट से संपर्क नहीं कर सका। इस लिस्टिंग से यह स्थापित नहीं हुआ है कि किसी अन्य सत्र में पहचानें हैं या नहीं। SSH के लिए उपयोग किए जाने वाले Terminal या शेल में ssh-add -l फिर से चलाएँ; केवल जाँचने के लिए कोई नया एजेंट शुरू न करें, क्योंकि इससे इस शेल को एक अलग, खाली एजेंट मिल सकता है। यदि कमांड अभी भी विफल रहता है, तो printf '%s\n' "$SSH_AUTH_SOCK" के साथ जाँचें कि क्या एनवायरनमेंट SSH_AUTH_SOCK प्रदान करने के लिए कॉन्फ़िगर किया गया है। यह सॉकेट पथ प्रदर्शित करता है, कुंजी नहीं, लेकिन यह स्वयं यह सत्यापित नहीं करता है कि सॉकेट प्रयोग करने योग्य है।

एजेंट और macOS Keychain में अंतर समझें

एजेंट में लोड की गई SSH पहचान और Keychain में संग्रहीत पासफ़्रेज़ अलग-अलग चीज़ें हैं। Apple कुंजी के पासफ़्रेज़ को संग्रहीत करने के लिए SSH कॉन्फ़िगरेशन विकल्प के रूप में UseKeychain का उल्लेख करता है, और AddKeysToAgent एक ऐसा विकल्प है जो SSH द्वारा उपयोग किए जाने पर कुंजी को एजेंट में लोड करता है। इस प्रकार, Keychain में पासफ़्रेज़ होने का अपने आप में यह अर्थ नहीं है कि पहचान वर्तमान में ssh-add -l में दिखाई देती है; किसी पहचान को बाद में एजेंट में जोड़ा जा सकता है, जैसे कि SSH कनेक्शन के दौरान। Apple टेक्निकल नोट TN2449

यदि आपको Keychain आइटम का निरीक्षण करने की आवश्यकता है, तो Keychain Access चयनित कीचेन में संग्रहीत कुंजियों और प्रमाणपत्रों के बारे में जानकारी दिखा सकता है। यह सक्रिय एजेंट को सूचीबद्ध करने से एक अलग निरीक्षण है, और इसका उपयोग यह अनुमान लगाने के लिए नहीं किया जाना चाहिए कि यह Terminal वर्तमान में कौन-सी पहचानें प्रस्तुत कर सकता है। Apple Support: Mac पर कीचेन में संग्रहीत जानकारी देखें

यह जाँच आपको क्या बता सकती है

जब आपको इस Terminal सत्र के लिए एजेंट को उपलब्ध पहचानों का कम-प्रकटीकरण वाला स्नैपशॉट चाहिए हो, तब ssh-add -l का उपयोग करें। यदि आपको किसी विशेष कुंजी की पहचान करने की आवश्यकता है, तो फ़िंगरप्रिंट की तुलना किसी विश्वसनीय रिकॉर्ड से करें। यह लिस्टिंग निजी कुंजी की सामग्री नहीं दिखाती है, कंप्यूटर पर मौजूद प्रत्येक कुंजी की पहचान नहीं करती है, यह पुष्टि नहीं करती है कि कोई रिमोट सर्वर किसी कुंजी को अधिकृत करता है, या यह गारंटी नहीं देती है कि बाद का कोई SSH कमांड किसी सूचीबद्ध पहचान का उपयोग करेगा; SSH कॉन्फ़िगरेशन और कनेक्शन संदर्भ भी प्रमाणीकरण को प्रभावित करते हैं।

स्रोत