java ssh 连接mysql数据库_Java通过ssh连接访问数据库

本文介绍了如何使用Java的JSch库通过SSH建立连接,并进行端口转发,以此来连接并访问远程MySQL数据库。详细步骤包括设置SSH连接、本地端口转发以及配置数据库URL,提供了一个SSHService.java的示例代码。

前言:

在最近的工作中,需要通过ssh的方式远程连接数据库,jdbc默认的连接方式是tcp/ip。查阅资料,发现java可通过JSch实现ssh的端口转发, 从而实现数据库的连接,这里记录一下具体实现过程。

思路:

1.本地和远程建立ssh连接通道;

2.设置ssh本地端口转发,本地转发到远程;

3.通过访问本地的转发端口,实现和远程的数据库建立连接

建立ssh连接通道核心代码

JSch jsch = new JSch();

Session session = null;

try {

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

session.setPassword(password);

session.setConfig("StrictHostKeyChecking", "no");

// step1:建立ssh连接

session.connect();

} catch (Exception e) {

if (null != session) {

//关闭ssh连接

session.disconnect();

}

e.printStackTrace();

}

本地端口转发核心代码:

//step2: 设置SSH本地端口转发,本地转发到远程

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

完整代码如下:

SSH.properties配置文件

#本地端口

lport=

#SSH服务器ip

host=

#SSH访问端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值