私の理解では、リモートマシンで実行されているmysqlサーバーにアクセスし、SSHトンネルを介してポート3306をリッスンしたいとします。
コマンドラインsshクライアントを使用して、ローカルマシンのポート1234からリモートマシンのポート3306にこのようなトンネルを作成するには、ローカルマシンから次のコマンドを入力します。
ssh -L 1234:localhost:3306 mysql.server.remote
Javaから同じことを行うには、JSch を使用できます。 、SSH2のJava実装。そのウェブサイトから:
JSchを使用すると、sshdサーバーに接続して、ポート転送、X11転送、ファイル転送などを使用でき、その機能を独自のJavaプログラムに統合できます。 JSchはBSDスタイルライセンスの下でライセンスされています。
例として、 PortForwardingL.java
をご覧ください。
。セッションが接続されたら、jdbc:mysql://localhost:1234/[database]
などを使用してMySQLへのJDBC接続を作成します。 接続URLとして。