2011-11-10 23 views
6

मेरे पास एक विशिष्ट परिदृश्य है जिसे मैं हल करना चाहता हूं। passwordless लॉगिन दोनों पर काम के साथलिनक्स में एसएसएच पोर्ट अग्रेषण (सुरंग)

laptop -> remote_server_2 

: मैं वर्तमान में पोर्ट अग्रेषण के माध्यम से एक मेजबान से कनेक्ट:

laptop -> gateway -> remote_server_1 

और एक अन्य मेजबान। बाहरी नेटवर्क में से कोई भी दूरस्थ सर्वर दिखाई नहीं दे रहा है। अब मैं remote_server_2 पर एक सेवा चला रहा हूं, कि मैं remote_server_1 पर पहुंचने में सक्षम होना चाहता हूं। मुझे लगता है कि मुझे रिमोट पोर्ट अग्रेषण को दूरस्थ_सर्वर_1 से अपने लैपटॉप में सेट करना है, और उसके बाद remote_server_2 पर, लेकिन मुझे यकीन नहीं है कि यह कैसे करें। कोई भी इस स्थिति में पहले आया है?

संपादित करें: मामले में किसी और पूर्ण समाधान इसकी आवश्यकता है:

mylaptop$ ssh -L 3001:localhost:3000 server_2 
server_2$ netcat -l 3000 

तो सेटअप gatewayserver_1 के माध्यम से सुरंग:

ssh -t -t -L 3003:server_1:22 gateway 

फिर server_1 से उस तक पहुंच:

ssh -R 3002:localhost:3001 -p3003 localhost 
echo "bar" | nc localhost 3002` 

और हे की सफ़ाई server_2 से पता चलता bar :-)

उत्तर

4

आप वास्तव में क्या करने के लिए के रूप में आप का वर्णन किया है की है। सर्वर को server_2 पर सेटअप करें।

mylaptop$ ssh -L 3001:localhost:3000 server_2 
server_2$ netcat -l 3000 

फिर server_1 से इसका उपयोग करें।

mylaptop$ ssh -R 3002:localhost:3001 server_1 
server_1$ echo "foo" | netcat localhost 3002 

server_2foo दिखाएगा।

+0

यह लगभग काम करता है, सिवाय इसके कि मुझे सर्वर_1 के माध्यम से सुरंग करना है। तो अगर मैं है: mylaptop $ ssh एल 3003: प्रवेश द्वार: 3002 server_1 और mylaptop $ ssh आर 3003: स्थानीय होस्ट: 3000 -p3003 स्थानीय होस्ट मैं सही तर्ज पर कर रहा हूँ? मददगार सर्वर_1 पर नेटकैट नहीं है (मेरे पास उस पर व्यवस्थापक अधिकार नहीं हैं) – tdc

+0

क्षमा करें बस एहसास हुआ कि नेटकैट एनसी है। वैसे भी यह अभी तक काफी काम नहीं कर रहा है। – tdc

+0

मैं आपको स्वीकार्य उत्तर दूंगा, क्योंकि उसने मुझे मेरे संपादन में पूर्ण उत्तर देने के लिए पर्याप्त संकेत दिए हैं। – tdc