tags:

views:

470

answers:

2

I want to create an SSH Tunnel in Java. I noticed quite a few Java SSH libraries on another post. Before I dig into each option, maybe someone can give me some code snippets of how they did it or at least tell me which client library would work best.

I only need tunneling. I won't need stuff like file transfers, terminal emulation, etc. Is there a simple few lines of code that can forward a port on the server to work on my client's localhost adapter? Ideally both client and server would be in Java, but I'll settle for just client for now.

+2  A: 

Well, as pointed out in the other question, JSch is indeed a great choice and has several examples here. The PortForwardingL.java class might be a good starting point.

Pascal Thivent
I like the BSD license on this library. Thank you for pointing me directly to the sample I needed to see!
User1
+2  A: 

You can do this with several libraries. My favorite is the ssh library inside MindTerm package,

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

You can open a tunneled connection like this,

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

  sock = fact.createSocket(host, port);
ZZ Coder
+1 Wow. This is very simple. Too bad the license is kind of strange (my bad for not mentioning I need something BSD-like). I tried to accept this also as an answer, but SO only allows one answer. I at least upvoted your answer. Thanks for your help.
User1