के लिए पर्यावरण की जाँच SSH_AUTH_SOCK
प्रत्यक्ष ssh कनेक्शन के लिए अच्छा है।
यदि आप proxy_command
समीपस्थ ( ) का उपयोग करते हैं, तो आपके पास एक ऐसा कन्वेक्शन हो सकता है जो ऐसा दिखता है:
local
-> hostA
-> hostB
-> hostC
->hostD
यदि एजेंट फ़ॉरवर्डिंग उन सभी मेजबानों पर सक्रिय है, तो SSH_AUTH_SOCK
सेट हो जाएगा और local
सभी होस्टों पर आपकी ssh कुंजी "समाहित" कर देगा ।
अब मान लें कि एजेंट अग्रेषण अक्षम है, hostB
लेकिन चालू है hostC
। SSH_AUTH_SOCK
पर सेट किया hostD
जाएगा, लेकिन यह वास्तव में "खाली" होगा। बेशक एजेंट भेज दिया जाता है, लेकिन केवल से hostC
करने के लिए hostD
। चेन टूट गई है।
अब यह जांचने के लिए कि क्या वास्तव में कुंजी hostD
आपके पास उपलब्ध है, बस कॉल कर सकते हैं ssh-add
। यह किसी भी स्थिति में कोड 1 के साथ बाहर निकल जाएगा, लेकिन यदि कुंजी अनुपलब्ध है, तो यह इस पर दिखाई देगा stderr
:
आपके प्रमाणीकरण एजेंट के लिए कनेक्शन नहीं खोला जा सका।
तो आप SSH_AUTH_SOCK
प्लस के लिए जांच कर सकते हैं सुनिश्चित करें ssh_add
कि कोई आउटपुट नहीं है।
ssh-find-agent
मौजूदा ssh- एजेंटों को खोजने और उनका उपयोग करने के लिए एक स्क्रिप्ट के साथ एक अच्छे GitHub रेपो की ओर इशारा करता है , बहुत आसान! README में रेपो के कुछ उदाहरण हैं। यदि SSH आउटपुट को देखने के बजाय SSH कॉन्फिग फाइलों का निरीक्षण करने के साथ-साथ ssh- एजेंट को सक्षम किया जाता है, तो आप यह पता लगाने में सक्षम हो सकते हैं।