2011-03-17 15 views
5

मैं जावा प्रोग्राम में एक एसएसएच सुरंग खोलना चाहता हूं, ताकि बाकी सिस्टम को कनेक्शन तक पहुंच होगी (उदाहरण के लिए यदि मैं स्थानीयहोस्ट में डेटाबेस के लिए पोर्ट बंद करता हूं तो मुझे डेटाबेस खोलने में सक्षम होना चाहिए किसी अन्य कार्यक्रम में) ... दूसरे शब्दों में, मुझे यूनिक्स कमांड एसएसएच जैसे कुछ के लिए जावा रैपर बनाने के लिए इसे करने की आवश्यकता है। हालांकि मुझे प्रोग्राम को क्रॉस प्लेटफ़ॉर्म होने की आवश्यकता है, इसलिए यदि संभव हो तो मैं जावा से लाइब्रेरी का उपयोग करना चाहता हूं।जावा का उपयोग कर एसएसएच सुरंग खोलना संभव है?

(मैं विभिन्न पुस्तकालयों को देखकर किया गया है, लेकिन ऐसा नहीं प्रणाली के बाकी हिस्सों अभी तक उपयोग कर सकते हैं सुरंग बनाने के लिए सक्षम किया गया है) यह संभव है

+1

क्या वीपीएन के लिए यह नहीं है? – Bobby

+0

@ बॉबी कभी-कभी ऐसे समाधान का उपयोग करना अच्छा होता है। – Sacx

+0

@ बॉबी एसएसएच सुरंग भारी फायरवॉल वातावरण के स्विस सेना चाकू हैं। जब तक सबकुछ अस्थायी होने के लिए होता है, तब तक वे पूरी तरह से उड़ाए गए वीपीएन की स्थापना के बजाय उपयोग करना बहुत आसान होते हैं। – sfussenegger

उत्तर

5

JSch पुस्तकालय निश्चित रूप से यह आसान बनाता है और पोर्ट अग्रेषण का समर्थन करता है:

JSch jsch = new JSch(); 
Session session = jsch.getSession(user, host); 
session.setPassword(password); 
session.connect(timeout); 
session.setPortForwardingL(listenPort, destHost, destPort); 
+0

नोट्स: यह केवल पोर्ट अग्रेषण है, लेकिन गतिशील सॉक अग्रेषण नहीं है जो प्लिंक-डी किया गया था। अन्यथा, आपको I/O अपवाद मिलेगा: (java.net.SocketException) लक्ष्य होस्ट से कनेक्ट करते समय पकड़ा गया: सॉक्स सर्वर से उत्तर दें खराब संस्करण है। – cleverpig

0

शायद Jsch?

+2

क्या यह एक उत्तर माना जाता है? – sfussenegger

+0

जबकि यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, [यह बेहतर होगा] (http://meta.stackexchange.com/q/8259) यहां उत्तर के आवश्यक हिस्सों को शामिल करने के लिए, और संदर्भ के लिए लिंक प्रदान करें। – Kev

0

मैं उपयोग कर रहा है गेनीमेड SSH-2 बड़ी सफलता के साथ वास्तव में इस उद्देश्य के लिए, वास्तव में पहली बार काम किया, मेरे आश्चर्य के लिए बहुत कुछ।

संबंधित मुद्दे