2

您好我正在尝试连接到在 Virtualbox Centos 中运行的本地 Postgres Db,它通过 SSL 隧道连接。下面是我如何通过 DBeaver 连接的示例。

  1. DBeaver 我正在使用 SSL 隧道选项卡和
  2. 我正在使用 pem 文件,以及用户名和密码

Postgres 本地连接在此处输入图像描述

  1. Virtualbox设置转发端口如下

Postgres Virtualbox 端口转发在此处输入图像描述

我没有 ssl 隧道的 Java 代码是这样的

DriverManager.getConnection("jdbc:postgresql://localhost:5432/dbName?user=postgresuser&password=givepassword");

这没有说pg_hba.conf未找到等,或者如果我给出ssl=true连接字符串,说它不支持..如何使用 ssl 隧道连接到本地数据库?[我在 pg_hba.conf 文件中的假设仅在 Virtualbox Host Vm 上可用。]

4

1 回答 1

0

您可以尝试使用jsch,它是 Java 中的 SSH 实现。

这是如何做到这一点的完整示例https://cryptofreek.org/2012/06/06/howto-jdbc-over-an-ssh-tunnel/

请注意,在这种情况下,您的所有流量都将转到代理,因此您需要在读取/写入数据库后关闭会话。

于 2021-12-13T20:03:23.847 回答