【发布时间】:2016-11-22 19:12:57
【问题描述】:
我在运行 Ubuntu Server 14.04 的服务器上安装了 PostgreSQL 9.3。
如果我通过终端 ssh 进入服务器,我可以连接到 psql。但是当我尝试配置 pgAdmin III 进行远程连接时,我得到:
服务器不监听 服务器不接受连接: 连接库报告无法连接到服务器:连接 拒绝服务器是否在主机“172.24.3.147”上运行并接受 端口 5432 上的 TCP/IP 连接?
当我在服务器 service postgresql status 上运行时,它给了我:
9.3/main (port 5432): online
所以我当然在这里遗漏了一些重要的东西。
编辑
在服务器上运行netstat -na 时,我得到(我猜是相关部分):
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 172.24.3.147:22 172.24.3.240:61950 ESTABLISHED
tcp 0 0 172.24.3.147:22 172.24.3.240:60214 ESTABLISHED
【问题讨论】:
-
你没有绑定到那个ip。 pg 在听别的东西,比如 127.0.0.1:5432
-
“绑定”是什么意思?当我尝试通过 pgAdmin 连接时,我正在使用服务器的端口(在 ssh 中使用)。
-
你必须告诉 pg 监听连接的接口/IP。如果它只绑定到 127.0.0.1:5432,那么对 172.24.3.147:5432 的任何尝试都将不起作用,因为没有任何东西在监听该 ip:port 组合
-
根据您的评论,它应该在端口 22 上读取(为什么,如果默认值为 5432?),对吗? (这就是上面 State=ESTABLISHED 行中的内容)。但是当我尝试连接到 pgAdmin 上的那个端口时,我得到一个不同的错误:“发生错误:14:57:13:错误:连接到服务器时出错:SSL 错误:来自服务器的未知协议预期身份验证请求,但是收到S"
-
22端口是ssh,和postgres没有关系。
标签: postgresql ssh port remote-access