underlying database!Caused by: com.jcraft.jsch.JSchException: invalid privatekey: [B@309286bd

好久没有敲代码了,昨天拉了下之前的项目,然后各种各样的问题都出来了~~~,一脸懵逼。。。

关键是换了电脑后,没有装任何开发工具,其中影响深刻的本文下面提到的问题:

java.sql.SQLException: Connections could not be acquired from the underlying database!

Caused by: com.jcraft.jsch.JSchException: invalid privatekey: [B@309286bd

使用Eclipse和IDEA都一样,找了好久,如上图要彻底解决,百度一大把,好多说是需要:

1.检查驱动配置,一般就看mysql版本需要差不多一致就行。

2.数据库连接地址有误 ur后面一般带上 ?3useUnicode=true&characterEncoding=utf8(jar包版本不同,加的也不一样)

3.检查账号或密码是否有误。

注:说实话,一般能想到的肯定会去检查这一块

其实重点是:invalid privatekey这个提示,意思是使用了高版本的openssh来生成公私钥,而项目中的jsch解析密钥时出错(低版本解析不了高版本),这里可能会有人想说:直接更换jsch为最新版本就行了,百度一大把54、55版的,你会发现导入项目后,还是不行,哈哈哈,我是踩过了。

解决方法:

去Linux服务器上生成公私钥(只要随便链接一台linux即可),查看openssh版本:openssl version 

注:这里会有人疑问,为什么出来的是Libressl,这个你们可以自行查询,我理解的是:openssh不在必须依赖于openssl,而是openssl分支Libressl。

ssh-keygen -t rsa -C "你的邮箱"

 

最后将服务器生成的公私钥分别放入gitee(网页端可以直接添加)或服务器,私钥放入本地

最后在运行项目试试,反正我的是可以了,你的呢 ?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值