我在使用SSH连接到我的virtualbox(ubuntu)postgres服务器时遇到问题。 我设置得很好并且正确。
PostgreSQL设置:
postgresql.conf
- >允许所有进入连接(*)并设置ssl TRUE pg_hba.con
f - >经过大量的改动之后我才开始尝试使用这个设置: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
我试过了:
在虚拟机上重启了我的postgres服务器。
然后我去了我的主机(Snow Leopard),建立了一个到虚拟机(ubuntu)的ssh连接,它正在运行。
在端口5432上ping我的来宾机也可以。
在我的主机(Snow Leopard)上打开pgadmin - >添加了服务器192.68.56.1和数据库pluto
,用户pippo
。连接工作正常,我看到了数据库。
尝试在Snow Leopard中打开TERMINAL并执行cmd:
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程序连接,我得到了同样的错误 我究竟做错了什么?
答案 0 :(得分:0)
pgAdmin
默认尝试使用和不使用SSL进行连接。
我怀疑您只是尝试通过psql
连接而不使用 SSL,而服务器似乎需要SSL才能进行连接。尝试:
psql "sslmode=require host=192.168.56.1 dbname=pluto" pippo
答案 1 :(得分: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信任