Fra*_*urt 8 postgresql ssh dbeaver
我正在尝试使用 DBeaver 通过 SSH 连接到 PostgreSQL 数据库服务器:
can't initialize tunnel
cannot establish tunnel
com.jcraft.jsch.JSchException: auth fail
Run Code Online (Sandbox Code Playgroud)
我确信 SSH 服务器工作正常。我设法使用 pgAdmin 3 和 RazorSQL 通过同一台 SSH 服务器连接到同一台 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 命令:
autossh -f -N -L 5432:localhost:5432 ssh_server_username@ssh_server_ip
Run Code Online (Sandbox Code Playgroud)此时,如果您尝试连接,您将收到相同的com.jcraft.jsch.JSchException: auth fail错误消息。转到 shell 并运行命令:
ssh -f -N -L 5432:localhost:5432 ssh_server_username@ssh_server_ip
Run Code Online (Sandbox Code Playgroud)
它将输出:
The authenticity of host 'ssh_server_hostname (ssh_server_ip)' can't be established.
ECDSA key fingerprint is 29:13:b5:cb:99:21:b2:18:f1:11:aa:12:54:c2:88:9a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ssh_server_hostname,ssh_server_ip' (ECDSA) to the list of known hosts.
Password:
Run Code Online (Sandbox Code Playgroud)
返回 DBeaver,尝试连接,应该可以工作。我仍然不知道为什么我应该使用autosshDBeaver 中的 SSH 隧道选项卡来代替。
| 归档时间: |
|
| 查看次数: |
28670 次 |
| 最近记录: |