मैं एक दूरस्थ सर्वर (ए) तक पहुंचने के लिए एक ssh सुरंग बनाने की कोशिश कर रहा हूं जिसे केवल दूसरे सर्वर (B) के माध्यम से एक्सेस किया जा सकता है। मेरे पास स्थानीय सर्वर (L) पर रिले सर्वर (B) और गंतव्य सर्वर (A) पर जाने के लिए रिले सर्वर (B) पर एक अन्य कुंजी है।
[स्थानीय मशीन (L) रिले सर्वर (B) की कुंजी के साथ] - & gt; [रिले सर्वर (बी) गंतव्य सर्वर की कुंजी के साथ (ए)] - & gt; [गंतव्य सर्वर (ए)]
मेरे पास एक ~ / .ssh / config फाइल है जो मेरी स्थानीय मशीन (L) पर इस तरह दिखती है:
Host relay.server(B)
Hostname relay.server
Port 22
User me
IdentityFile ~/.ssh/id_rsa
Host destination.server(A)
Hostname destination.server
Port 1122
User me
IdentityFile ~/.ssh/id_rsa
और मैं अपनी सुरंग को निम्नलिखित तरीके से काम में ला सकता हूं:
कमांड चलाना: ssh -N -L 1122:SERVER_PRIVATE_IP:22 relay.server(B)
मेरी स्थानीय मशीन (L) पर। यह मुझे पहली कुंजी को अनलॉक करने के लिए एक पासवर्ड के लिए संकेत देता है और फिर हैंग करने के लिए प्रकट होता है यह एक प्रॉम्प्ट का उपयोग नहीं करता है, का उपयोग करते हुए -f
विकल्प या एक के साथ समाप्त &
मुझे पासवर्ड दर्ज करने से रोकता है। हालाँकि अगर मैं ^C
पासवर्ड दर्ज करने के बाद यह कमांड और फिर एंटर करें ssh destination.server(A)
मुझे गंतव्य कुंजी (A) से कनेक्ट होने के बाद दूसरी कुंजी को अनलॉक करने के लिए एक पासवर्ड प्रदान करने के लिए एक संकेत मिलता है।
मैं एक एकल कमांड की तलाश में हूं जो मुझे अपने स्थानीय मशीन (एल) से गंतव्य सर्वर (ए) से कनेक्ट करने देगा और मुझे प्रत्येक कुंजी को अनलॉक करने के लिए आवश्यक पासवर्ड प्रदान करने के लिए संकेत देगा। या चीजों को व्यवस्थित करने के वैकल्पिक तरीके के लिए एक सुझाव ताकि मैं अपने स्थानीय मशीन (एल) से रिले सर्वर (बी) के माध्यम से सीधे गंतव्य सर्वर (ए) से जुड़ सकूं।
-f
; मुझे यह सुनकर दुख हुआ कि यह काम नहीं किया (आप कर रहे हैं ज़रूर आपने कोशिश की-f
के बिना&
;) मैं विचारों से बाहर हूँ; सौभाग्य।