2009-11-04 10 views
12

Chcę utworzyć tunel SSH w Javie. Zauważyłem sporo bibliotek Java SSH pod numerem another post. Zanim przejdę do każdej z opcji, może ktoś może podać mi fragmenty kodu, jak to zrobili, lub przynajmniej powiedzieć, która biblioteka klientów będzie działała najlepiej.Prosty tunel SSH w Javie

Potrzebuję tylko tunelowania. Nie będę potrzebował takich rzeczy jak transfery plików, emulacja terminalu itp. Czy istnieje kilka prostych linii kodu, które mogą przesyłać port na serwerze, aby pracować z adapterem localhost mojego klienta? Idealnie zarówno klient, jak i serwer będą w Javie, ale na razie ustalę tylko klienta.

+0

UWAGA: Ta kwestia była również poinformowany o tym tematem: http: // stackoverflow.com/questions/3954454/fast-implementation-of-a-port-forward-in-java –

+0

Oto przykład, który umieściłem na innym podobnym pytaniu http://stackoverflow.com/a/16023513/311525 – Scott

Odpowiedz

20

Cóż, jak wskazano w drugim pytaniu, JSch jest rzeczywiście świetnym wyborem i ma kilka przykładów: here. Klasa PortForwardingL.java może być dobrym punktem wyjścia.

+0

I jak licencja BSD w tej bibliotece. Dziękuję za skierowanie mnie bezpośrednio na próbkę, którą muszę zobaczyć! – User1

16

Możesz to zrobić z kilkoma bibliotekami. Moim ulubionym jest biblioteka ssh wewnątrz pakietu MindTerm,

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

Można otworzyć połączenia tunelowanego takiego,

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

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

+1 Łał. To bardzo proste. Szkoda, że ​​licencja jest trochę dziwna (moja zła za to, że nie wspomniałem, że potrzebuję czegoś podobnego do BSD). Próbowałem zaakceptować to również jako odpowiedź, ale SO pozwala tylko na jedną odpowiedź. Przynajmniej przegłosowałem twoją odpowiedź. Dzięki za pomoc. – User1

Powiązane problemy