Jag förstår att du vill komma åt en mysql-server som körs på en fjärrdator och lyssnar på låt oss säga port 3306 genom en SSH-tunnel.
För att skapa en sådan tunnel från port 1234 på din lokala dator till port 3306 på en fjärrdator med hjälp av kommandoraden ssh-klient, skulle du skriva följande kommando från din lokala dator:
ssh -L 1234:localhost:3306 mysql.server.remote
För att göra samma sak från Java kan du använda JSch , en Java-implementering av SSH2. Från dess webbplats:
JSch låter dig ansluta till en sshd-server och använda portvidarebefordran, X11-vidarebefordran, filöverföring, etc., och du kan integrera dess funktionalitet i dina egna Java-program. JSch är licensierad under BSD-licens.
För ett exempel, ta en titt på PortForwardingL.java
. När sessionen är ansluten skapar du din JDBC-anslutning till MySQL med något som jdbc:mysql://localhost:1234/[database]
som anslutnings-URL.