2011-03-17 30 views
5

Quiero abrir un túnel SSH en un programa Java, para que el resto del sistema también tenga acceso a la conexión (por ejemplo, si reenvio un puerto para una base de datos al servidor local, debería poder abrir la base de datos) en otro programa) ... En otras palabras, lo que necesito hacer para crear un contenedor Java para algo así como el comando unix ssh. Sin embargo, necesito que el programa sea multiplataforma, así que si es posible, me gustaría usar una biblioteca de Java.¿Es posible abrir un túnel SSH usando Java?

es esto posible (he estado buscando en diferentes bibliotecas, pero no han sido capaces de crear el túnel por lo que el resto del sistema puede utilizar todavía)

+1

¿No es eso para lo que es VPN? – Bobby

+0

@Bobby a veces usando tal solución es bueno. – Sacx

+0

Los túneles de @Bobby SSH son la navaja suiza de entornos fuertemente rodeados de cortafuegos. Siempre y cuando todo esté destinado a ser temporal, es mucho más fácil de usar que la configuración de una VPN completa. – sfussenegger

Respuesta

5

La biblioteca JSch definitivamente lo hace fácil y soporta el reenvío de puertos:

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

Notas: solo es un reenvío de puerto, pero no un reenvío de calcetín dinámico que plink-D hizo. De lo contrario, obtendrá una excepción de E/S: (java.net.SocketException) capturada al conectarse al host de destino: Respuesta del servidor SOCKS tiene mala versión. – cleverpig

0

Quizás Jsch?

+2

se supone que esto es una respuesta? – sfussenegger

+0

Si bien esto puede responder teóricamente a la pregunta, [sería preferible] (http://meta.stackexchange.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. – Kev

0

He estado usando Ganímedes SSH-2 precisamente para este propósito con gran éxito, trabajó por primera vez en realidad, con gran sorpresa mía.

Cuestiones relacionadas