Jsch: Port Forwarding por SSH desde Java

JSch es una implementación de SSH2: permite conectar desde Java a un Servidor SSHD.

Permite por ejemplo usar port forwarding para conectar con otro servicio detrás del servidor SSHD.

Lo vemos en el ejemplo:

import java.sql.DriverManager; 

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.Session;

import java.sql.Connection;

public class MySqlConnOverSSH {

public static void main(String[] args) throws SQLException {

int lport=5656;

String rhost=»secure.journaldev.com»;

String host=»secure.journaldev.com»;

int rport=3306;

String user=»sshuser»;

String password=»sshpassword»;

String dbuserName = «mysql»;

String dbpassword = «mysql123»;

String url = «jdbc:mysql://localhost:»+lport+»/mydb»;

String driverName=»com.mysql.jdbc.Driver»;

Connection conn = null;

Session session= null;

try{

java.util.Properties config = new java.util.Properties();

config.put(«StrictHostKeyChecking», «no»);

JSch jsch = new JSch();

session=jsch.getSession(user, host, 22);

session.setPassword(password);

session.setConfig(config);

session.connect();

System.out.println(«Connected»);

int assinged_port=session.setPortForwardingL(lport, rhost, rport);

System.out.println(«localhost:»+assinged_port+» -> «+rhost+»:»+rport);

System.out.println(«Port Forwarded»);

//mysql database connectivity

Class.forName(driverName).newInstance();

conn = DriverManager.getConnection (url, dbuserName, dbpassword);

System.out.println («Database connection established»);

System.out.println(«DONE»);

}catch(Exception e){

e.printStackTrace();

}finally{

if(conn != null && !conn.isClosed()){

System.out.println(«Closing Database Connection»);

conn.close();

}

if(session !=null && session.isConnected()){

System.out.println(«Closing SSH Connection»);

session.disconnect();

}

}

}

}

Respuesta

  1. […] This post was mentioned on Twitter by Un poco de Java, Luis Miguel. Luis Miguel said: Jsch: Port Forwarding por SSH desde Java http://wp.me/pLwk8-1eL […]

Deja un comentario