2009-11-04 17 views
12

मैं जावा में एक एसएसएच सुरंग बनाना चाहता हूं। मैंने another post पर कुछ जावा एसएसएच पुस्तकालयों को देखा। प्रत्येक विकल्प में खोदने से पहले, शायद कोई मुझे कुछ कोड स्निपेट दे सकता है कि उन्होंने यह कैसे किया या कम से कम मुझे बताएं कि कौन सी क्लाइंट लाइब्रेरी सर्वश्रेष्ठ काम करेगी।जावा में सरल एसएसएच सुरंग

मुझे केवल सुरंग की आवश्यकता है। मुझे फाइल ट्रांसफर, टर्मिनल इम्यूलेशन इत्यादि जैसी चीजों की आवश्यकता नहीं होगी। क्या कोड की एक साधारण कुछ पंक्तियां हैं जो सर्वर पर एक पोर्ट को मेरे क्लाइंट के लोकहोस्ट एडाप्टर पर काम करने के लिए अग्रेषित कर सकती हैं? आदर्श रूप से क्लाइंट और सर्वर जावा में होंगे, लेकिन मैं अभी क्लाइंट के लिए बस जाऊंगा।

+0

एनबी: यह सवाल भी इस विषय के पर जानकारीपूर्ण गया था: http: // stackoverflow.com/questions/3954454/fast-implementation-of-a-port-forward-in-java –

+0

यहां एक उदाहरण है जिसे मैंने एक और समान प्रश्न पर रखा है http://stackoverflow.com/a/16023513/311525 – Scott

उत्तर

20

ठीक है, जैसा कि दूसरे प्रश्न में बताया गया है, JSch वास्तव में एक अच्छा विकल्प है और इसमें कई उदाहरण here हैं। PortForwardingL.java कक्षा एक अच्छा प्रारंभिक बिंदु हो सकता है।

+0

I इस पुस्तकालय पर बीएसडी लाइसेंस की तरह। मुझे सीधे नमूने के लिए इंगित करने के लिए धन्यवाद, मुझे देखने की ज़रूरत है! – User1

16

आप कई पुस्तकालयों के साथ ऐसा कर सकते हैं। मेरा पसंदीदा, MindTerm पैकेज के अंदर ssh पुस्तकालय है

http://linuxmafia.com/pub/java/ISNetworks-MindTerm-1.2.1-SCP3.tar.gz

आप इस प्रकार का टनल कनेक्शन खोल सकते हैं,

SSHSocketFactory fact = new SSHSocketFactory(sshHost, sshPort, new SSHPasswordAuthenticator(sshUser, sshPassword)); 

    sock = fact.createSocket(host, port); 
+2

+1 वाह। यह बहुत आसान है। बहुत बुरा लाइसेंस लाइसेंस अजीब है (उल्लेख करने के लिए मेरा बुरा मुझे बीएसडी की तरह कुछ चाहिए)। मैंने इसे एक उत्तर के रूप में स्वीकार करने की कोशिश की, लेकिन एसओ केवल एक जवाब की अनुमति देता है। मैं कम से कम आपका जवाब उखाड़ फेंक दिया। आपकी सहायता के लिए धन्यवाद. – User1

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