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(); } } } } |

Replica a Tweets that mention Jsch: Port Forwarding por SSH desde Java « Java Mania — Topsy.com Cancelar la respuesta