मैं पिछले 2 घंटों के लिए निम्नलिखित समस्या का हल ढूंढ रहा हूं, जिसमें कोई भाग्य नहीं है।
विकास:
मैं अपने सर्वर से कनेक्ट करने के लिए publickey प्रमाणीकरण का उपयोग कर रहा हूं। मैं ssh- एजेंट अग्रेषण का उपयोग करने के लिए सार्वजनिक / निजी कुंजी का प्रबंधन नहीं है।
मान लीजिए कि मेरे पास सर्वर हैं A, B and C
।
अगर मैं इससे जुड़ता हूं तो यह बहुत अच्छा काम करता है LOCAL ---> A ---> B
।
अगर मैं करता हूं तो यह बहुत अच्छा काम करता है LOCAL ---> A ---> C
।
अब, अगर मैं कोशिश करता हूँ LOCAL ---> A ---> B ---> C
, SSH से कनेक्ट नहीं कर सकता B to C
।
वर्थ नोटिंग: मैं सर्वर A को तरलता के रूप में जोड़ता हूं, जबकि मैं सर्वर B को रूट के रूप में जोड़ता हूं। सर्वर बी को तरलता से जोड़ना समस्या को ठीक करता है, लेकिन यह मेरे लिए कोई विकल्प नहीं है।
एक उपयोगकर्ता की सिफारिश के अनुसार, मैं ssh -A
यह सुनिश्चित करने के लिए प्रत्येक समय का उपयोग करता हूं कि एजेंट अग्रेषण सक्षम है।
मुझे एक समान प्रश्न मिला, जिसका कोई उत्तर नहीं है: क्या यह संभव है कि ssh- एजेंट को कई हॉप्स के माध्यम से अग्रेषित करना संभव हो?
यहां @Zoredache के अनुसार: /server//a/561576/45671 मुझे बस प्रत्येक मध्यवर्ती सिस्टम पर अपने क्लाइंट कॉन्फ़िगरेशन को समायोजित करने की आवश्यकता है। जो मुझे विश्वास है कि मैंने किया।
ProxyCommand
hopping ( यहां बताया गया है ) का उपयोग करने पर विचार करें । अपने दृष्टिकोण के लिए आपको श्रृंखला की सभी मशीनों पर भरोसा करना होगा क्योंकि वे (ab) आपकी निजी चाबियों का उपयोग कर सकती हैं। मुझे यह भी पसंद है कि ProxyCommand दृष्टिकोण बेहतर है क्योंकि ज्ञात होस्ट की जांच स्थानीय स्तर पर की जाती है, और इसके अलावा, आप अपने SSH कॉन्फ़िगरेशन में चेन सेट कर सकते हैं ताकि आप C. से कनेक्ट करने के लिए एक कमांड का उपयोग कर