मैं विभिन्न भौतिक स्थानों (और इस प्रकार विभिन्न भौतिक मशीनों) से लगातार कई मशीनों से जुड़ता हूं। इसमें से अधिकांश से किया जाता है, हालांकि ssh, कभी कभी एक प्रवेश द्वार मशीन या दो की आवश्यकता है (जो मैं आह्वान के माध्यम से ProxyCommand
में ~/.ssh/config
)। मैं यह जानना चाहता हूं कि क्या रिमोट कनेक्शन पर प्रारंभिक कनेक्शन (यानी मैं जिस मशीन पर काम कर रहा हूं) को कॉल करने वाली मशीन के आईपी या होस्टनाम की पहचान करने की कोई विधि है?
- मैं पर्यावरण चर नहीं भेजना चाहता क्योंकि कुछ मशीनों में मुझे सेट करने के लिए रूट नहीं है
PermitUserEnvironment
। $SSH_CLIENT
वातावरण चर सीधे कनेक्शन के लिए उपयोगी है, लेकिन केवल सबसे हाल ही में प्रवेश द्वार सूचीबद्ध करता है।
एक समाधान के लिए मेरा वर्तमान विचार $SSH_CLIENT
यह है कि इसे हड़पने के लिए , उस मशीन के $SSH_CLIENT
मूल्य को ढूंढें और तब तक दोहराएं जब तक यह मौजूद न हो; फिर hostname को पकड़ो और इसे किसी भी तरह वापस खींचें।
हालांकि एक हैक काम का एक सा लगता है; किसी को भी एक बेहतर तरीका है?
मैं ज्यादातर बैश शेल में काम कर रहा हूं, लेकिन मैं ऐसे किसी भी सुझाव के लिए खुश हूं जो इसका उपयोग नहीं करता है।