3

我在连接(使用 SSH)到我的 virtualbox(ubuntu) postgres 服务器时遇到问题。我设置得很好而且正确。

PostgreSQL 设置:

  • postgresql.conf-> 允许所有传入连接 (*) 并设置 ssl TRUE
  • pg_hba.conf -> 经过大量更改后,我发现它似乎可以使用以下设置:

IP4

host all all 0.0.0.0/0 trust
hostssl all all 0.0.0.0/0 trust
host all all 192.168.x.x/32 trust 
hostssl all all 192.168.x.x/32 trust 

我试过了:

  1. 在虚拟机上重新启动了我的 postgres 服务器。

  2. 然后我去我的主机(Snow Leopard),建立一个到虚拟机(ubuntu)的ssh连接,它正在工作。

  3. 在端口 5432 上 ping 我的访客机器也可以。

  4. 在我的主机(雪豹)上打开 pgadmin -> 添加服务器 192.68.56.1 和数据库pluto,用户pippo。连接有效,我看到了数据库。

  5. 尝试在雪豹中打开终端并执行以下命令:

    psql -h 192.168.56.1 -U pippo -d pluto
    

    错误:

    psql: FATAL:  no pg_hba.conf entry for host "192.168.56.1", 
                  user "pippo", database "pluto", SSL off
    

我也尝试通过我的 Java 程序进行连接,但遇到了同样的错误。
我究竟做错了什么?

4

2 回答 2

0

pgAdmin默认情况下尝试使用和不使用 SSL 进行连接。

我怀疑您只尝试在没有SSL 的情况下通过 连接psql,而服务器似乎需要 SSL 进行连接。尝试:

psql "sslmode=require host=192.168.56.1 dbname=pluto" pippo

更多关于sslmode手册。

于 2013-02-05T19:20:16.063 回答
0

从命令行打开我的查询到 pgAdmin:

-f包含要在查询窗口中加载的 SQL 脚本的文件

-qc不带密码的连接字符串(也可以使用ssl连接)

"C:\Program Files\PostgreSQL\9.4\bin\pgAdmin3.exe" -f "C:\slqFiles\FindFunctionByName.sql" -qc "host=localhost port=5432 dbname=myDatabase user=postgres"

密码将从位于应用程序文件夹中 的密码文件中收集: %APPDATA%\postgresql\pgpass.conf

您需要连接权限。尝试添加到 C:\Program Files\PostgreSQL\9.6\data\pg_hba.conf 下一行:

托管所有所有 ::/0 信任

于 2016-06-30T17:23:08.243 回答