我正在尝试使用 ssh 隧道将 pgAdmin 4 连接到我在 Linode 上的 Postgresql 安装,但没有成功,具体请参见https://linode.com/docs/databases/postgresql/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/
它不起作用,pgAdmin 给了我:
Unable to connect to server:
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
我花了几个小时寻找解决方案,但似乎没有任何效果。我肯定错过了什么。以下是我尝试的其他方法:
- 我完成了所有步骤https://blog.bigbinary.com/2016/01/23/configure-postgresql-to-allow-remote-connection.html
我的
netstat -nlt
节目:tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:5433 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp6 0 0 :::80 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::5432 :::* LISTEN tcp6 0 0 ::1:5433 :::* LISTEN
我的
ufw status
节目:Status: active To Action From 22 ALLOW Anywhere 5432/tcp ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6) 5432/tcp (v6) ALLOW Anywhere (v6)
我确实经常重新启动 Postgresql(对于每次修改尝试)
- 如果我运行
psql -h localhost -p 5433 -U postgres
它工作正常 - 一切
psql -h localhost -p 5432 -U postgres
工作正常
但我为 pgAdmin 所做的其他任何事情都不起作用。
有人能解释一下吗?我遗漏了什么?我还能尝试什么?
谢谢来自北京的问候!丹尼尔
答案1
这确实是一个愚蠢的错误,当然是因为我在这方面完全是新手:
按照指示,我输入了命令
ssh -f -L 5433:127.0.0.1:5432 username@remote-host -N
我已经登录到我的 Linode 服务器。这应该在我的本地机器上完成,前登录 Linode。
否则我的 Mac 根本无法知道隧道的存在!太明显了,我根本没注意。