【2021-01-14】navicat使用ssh tunnel、密钥方式连接数据库的问题。错误:Unable to load key - unrecognised cipher name

之前一直用Navicat for Mysql 10.1.7版本,一直感觉挺好用。这两天需要用ssh tunnel、密钥方式连接一个远程数据库,对方服务器系统是centos8,结果不行了。

首先选择了私钥文件之后,navicat提示“80070007: SSH Tunnel: Wrong data format”错误。这个私钥文件我在Xshell上面登录的时候是完全没有问题的。

百度百度查了一堆,没有找到什么有关的,好吧只能慢慢试。

看到有人说Navicat版本太低的问题,那先尝试更新Navicat到15。

这时再试又有新问题,选择私钥之后提示“Unable to load key - unrecognised cipher name”。

百度百度查了一堆,和“unrecognised cipher name”有关的查不到什么内容,和“Unable to load key”有关的倒是不少。

大部分是说让人用Putty转一下私钥文件格式,试了一下,没有cipher错误了,但是出了其他错误,对方不认加密格式,遂放弃。

后来找到这条博文navicat 报错: unable to load key

里面提到新版本openssh产生的私钥文件是以“-----BEGIN OPENSSH PRIVATE KEY-----”开头,而老版是以“-----BEGIN RSA PRIVATE KEY-----”开头。我一看,确实。
这下终于解决了,说下解决方法:先找到centos服务器里面原来的私钥文件,然后在服务器里使用这条指令转一下原来那个私钥文件的格式

ssh-keygen -p -N "" -m pem -f /path/to/file

你会发现私钥文件的开头变成RSA那个格式了,再拿这个文件去navicat里面连接,就OK了

 

吐槽:navicat竟然连这个都还不支持,有点奇怪啊

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值