尽管听起来可能与这个问题有关,但事实并非如此,因为我很喜欢使用 unix 套接字而不是 TCP/IP 套接字。
但是,我无法使用 unix 套接字和带有 pgAdmin4 的 ssh 隧道连接到远程 PostgreSQL 数据库。pgAdmin 总是声称服务器拒绝连接并要求输入密码,这让我感到奇怪。当 ssh 进入服务器并使用 psql 时,可以使用 unix 套接字 (/var/run/postgresql) 完美地建立连接。是否需要设置任何特殊内容才能允许这样的设置,或者这甚至可能是 pgAdmin 本身的错误?我很感激任何解决这个问题的想法,而不必求助于远程端的 TCP/IP 连接。
我还发布了我当前配置中的一些屏幕:
ssh
使用正确的命令应该可以正常工作。从本地 Unix 套接字转发到远程套接字运行
然后您将使用主机
/tmp
和端口 5555 进行连接。要将本地 TCP 套接字转发到远程 Unix 套接字,请运行:
然后您将使用主机
127.0.0.1
和端口 5555 进行连接。