我正在尝试使用 DBeaver 通过 SSH 连接到 PostgreSQL 数据库服务器:
can't initialize tunnel
cannot establish tunnel
com.jcraft.jsch.JSchException: auth fail
我确信 SSH 服务器工作正常。我设法通过同一个 SSH 服务器与 pgAdmin 3 和 RazorSQL 连接到同一个 PostgreSQL 数据库服务器。我检查了IP,用户名和密码,它们是正确的。我禁用了所有防火墙。可能是什么问题?
我的设置:
我将 DBeaver 3.7.3 x64 便携版与 Windows 7 SP1 x64 Ultimate 一起使用。
错误日志窗口不记录错误,所以我没有更多信息。
我在 Kubuntu 上尝试了 DBweaver 并遇到了同样的问题。看起来问题在于事先没有验证 SSH 服务器的真实性,并且 DBweaver 无法级联正确的错误消息(例如,
Host key verification failed.
),而是误导性地归咎于某些身份验证错误。我在 Kubuntu 上修复了如下问题:
在外壳中运行
sudo apt-get install -y autossh
在 DBeaver 的连接中添加 shell 命令:
此时,如果您尝试连接,您将收到相同的
com.jcraft.jsch.JSchException: auth fail
错误消息。转到外壳并运行命令:它将输出:
回到 DBeaver,尝试连接,应该可以。我仍然不知道为什么我应该使用
autossh
DBeaver 中的 SSH 隧道选项卡而不是。