只是想在这里留下来,这样解决方案的链接就不会丢失。
我有一个4096字节的RSA私钥(可能是使用此指南生成的:https://help.github.com/cn/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)。
在尝试使用DBeaver(6.1.2)通过ssh隧道建立新连接时,我遇到了错误。
invalid privatekey: [B@540.....
只是想在这里留下来,这样解决方案的链接就不会丢失。
我有一个4096字节的RSA私钥(可能是使用此指南生成的:https://help.github.com/cn/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)。
在尝试使用DBeaver(6.1.2)通过ssh隧道建立新连接时,我遇到了错误。
invalid privatekey: [B@540.....
一开始我找到了这个解决方案:https://github.com/rundeck/rundeck/issues/4813#issuecomment-492358649 但是我并不想重新创建我的密钥,因为它已经在多台服务器上使用了。
经过一个小时的谷歌搜索,我找到了另一个建议:通过sshj
扩展使用另一个SSH实现:https://github.com/dbeaver/dbeaver/issues/3917#issuecomment-410616717可以通过内置的软件包管理器进行安装:帮助
-> 安装新软件
->https://dbeaver.io/update/sshj/latest/ 而且它运行得很好!
这个错误是由于SSH私钥的格式问题引起的。默认情况下,ssh-keygen
使用OpenSSH格式创建私钥,其中包含以下标头:
-----BEGIN OPENSSH PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
ssh-keygen -t rsa -b 2048 -m PEM
您也可以将现有的密钥转换(注意!这会覆盖现有的密钥,您只能复制私钥并在副本上应用命令):
ssh-keygen -p -m PEM -f id_rsa
在 DBeaver 的 GitHub 上有一个未解决的问题。
我成功在 DBeaver 社区版版本 7.3.4.202101310933 和 macOS Catalina 版本 10.15.7 上实现了 SSH 隧道连接,具体操作如下:
在终端中:
在默认位置 ~/.ssh/id_rsa
创建4096字节的 RSA 私钥,使用命令ssh-keygen -t rsa -b 4096
在 DBeaver 中:
在“连接设置”的 SSH 隧道选项卡上:
将显示模态对话框。
Connected!
Client version: SSHJ_0.27.0
Server version: OpenSSH_7.2p2 Ubuntu-4ubuntu2.8