DBeaver ssh 隧道无效私钥
DBeaver ssh tunnel invalid private key
只是想把它留在这里,这样 link 的解决方案就不会丢失。
我有一个 4096 字节的 RSA 私钥(可能是使用本指南生成的 https://help.github.com/en/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 It can be installed via the built-in package manager: Help
-> Install New Software
-> https://dbeaver.io/update/sshj/latest/ 而且效果很好!
此错误是由于 SSH 私钥的格式所致。默认情况下,ssh-keygen
正在使用 OpenSSH 格式创建一个私钥——用这个 header:
-----BEGIN OPENSSH PRIVATE KEY-----
但是 DBeaver 只接受使用较旧的 PEM 格式的密钥——header:
-----BEGIN RSA PRIVATE KEY-----
您可以使用正确的 header 直接生成密钥:
ssh-keygen -t rsa -b 2048 -m PEM
或者你可以转换现有的密钥(小心!这会覆盖现有的密钥,你可以只复制私钥并在副本上应用命令):
ssh-keygen -p -m PEM -f id_rsa
DBeaver 的 GitHub.
上有一个未解决的问题
我有 SSH 隧道可以使用
DBeaver 社区版版本 7.3.4.202101310933
macOS Catalina 版本 10.15.7
通过执行以下操作:
在shell:
在默认位置 ~/.ssh/id_rsa
使用创建 4096 字节 RSA 私钥
ssh-keygen -t rsa -b 4096
在 DBeaver 中:
- 单击“帮助”>“安装新软件”
- 单击添加 ...
- 输入姓名:SSHJ
- 输入位置:https://dbeaver.io/update/sshj/latest/
- 单击下一步并完成整个 SSHJ 安装过程
(我第一次尝试失败了)
- 点击保存
- 单击重新启动 DBeaver
在连接设置的 SSH 隧道选项卡上
- 使用身份验证方法:Public 密钥
- 使用私钥:~/.ssh/id_rsa
(OpenSSH 不是 PEM,正如其他人所建议的那样)
- 输入密码
- select 保存密码
- select 实现:SSHJ
- 单击测试隧道配置
显示模态对话框,上面写着
Connected!
Client version: SSHJ_0.27.0
Server version: OpenSSH_7.2p2 Ubuntu-4ubuntu2.8
- 点击确定
只是想把它留在这里,这样 link 的解决方案就不会丢失。
我有一个 4096 字节的 RSA 私钥(可能是使用本指南生成的 https://help.github.com/en/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 It can be installed via the built-in package manager:Help
->Install New Software
-> https://dbeaver.io/update/sshj/latest/ 而且效果很好!
此错误是由于 SSH 私钥的格式所致。默认情况下,ssh-keygen
正在使用 OpenSSH 格式创建一个私钥——用这个 header:
-----BEGIN OPENSSH PRIVATE KEY-----
但是 DBeaver 只接受使用较旧的 PEM 格式的密钥——header:
-----BEGIN RSA PRIVATE KEY-----
您可以使用正确的 header 直接生成密钥:
ssh-keygen -t rsa -b 2048 -m PEM
或者你可以转换现有的密钥(小心!这会覆盖现有的密钥,你可以只复制私钥并在副本上应用命令):
ssh-keygen -p -m PEM -f id_rsa
DBeaver 的 GitHub.
上有一个未解决的问题我有 SSH 隧道可以使用 DBeaver 社区版版本 7.3.4.202101310933 macOS Catalina 版本 10.15.7 通过执行以下操作:
在shell:
在默认位置 ~/.ssh/id_rsa
使用创建 4096 字节 RSA 私钥
ssh-keygen -t rsa -b 4096
在 DBeaver 中:
- 单击“帮助”>“安装新软件”
- 单击添加 ...
- 输入姓名:SSHJ
- 输入位置:https://dbeaver.io/update/sshj/latest/
- 单击下一步并完成整个 SSHJ 安装过程 (我第一次尝试失败了)
- 点击保存
- 单击重新启动 DBeaver
在连接设置的 SSH 隧道选项卡上
- 使用身份验证方法:Public 密钥
- 使用私钥:~/.ssh/id_rsa (OpenSSH 不是 PEM,正如其他人所建议的那样)
- 输入密码
- select 保存密码
- select 实现:SSHJ
- 单击测试隧道配置
显示模态对话框,上面写着
Connected!
Client version: SSHJ_0.27.0
Server version: OpenSSH_7.2p2 Ubuntu-4ubuntu2.8
- 点击确定