Si j'ai bien compris, vous souhaitez accéder à un serveur mysql s'exécutant sur une machine distante et écoutant, disons, le port 3306 via un tunnel SSH.
Pour créer un tel tunnel du port 1234 sur votre machine locale au port 3306 sur une machine distante à l'aide du client ssh en ligne de commande, vous devez taper la commande suivante depuis votre machine locale :
ssh -L 1234:localhost:3306 mysql.server.remote
Pour faire la même chose depuis Java, vous pouvez utiliser JSch , une implémentation Java de SSH2. Depuis son site Web :
JSch vous permet de vous connecter à un serveur sshd et d'utiliser la redirection de port, la redirection X11, le transfert de fichiers, etc., et vous pouvez intégrer ses fonctionnalités dans vos propres programmes Java. JSch est sous licence de style BSD.
Pour un exemple, regardez PortForwardingL.java
. Une fois la session connectée, créez votre connexion JDBC à MySQL en utilisant quelque chose comme jdbc:mysql://localhost:1234/[database]
comme URL de connexion.