valentina db不允许我使用ssh进入postgres,即使我能正常做到这一点

时间:2015-08-03 10:02:25

标签: postgresql ssh

我有一台AWS服务器,我可以使用带有.pem密钥的SSH访问。

使用valentina,我试图以这种方式访问​​postgres

enter image description here

我一直收到失败的身份讯息。

我将同样的.pem文件和ssh用于服务器。 使用相同的postgres用户和密码来访问使用psql客户端。

有效。

我还需要做些什么来使Valentina Studio也能正常工作?

更新

我已将pg_hba.conf更改为以下内容:

host    all             all             *                       ident
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

我可以在postgres服务器上运行psql -U postgres

我无法在postgres服务器上运行psql -h localhost -U postgres

更新2:

# "local" is for Unix domain socket connections only
local   all             postgres                                peer
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

这解决了问题

1 个答案:

答案 0 :(得分:1)

  

我一直收到失败的身份讯息。

这表明你实际上可以ssh。

猜测,您的手动测试与以下几行有关:

psql mydb

通常使用 unix socket ,在local中显示为pg_hba.conf个条目。

相比之下,您的应用程序将通过TCP / IP连接,可能是通过ssh转发到localhost的套接字。这会对host中的pg_hba.conf条目进行身份验证。

所以我认为您在直接登录时会测试不同的东西。

手动尝试:

psql -h localhost mydb

即。强制使用TCP / IP连接。您将收到同样的错误,因为您在pg_hba.conf中设置了ident作为来自localhost的host连接的auth方法,并且可能在那里&# 39; s没有identd正在运行或其他机制允许正确的ident。您可能想要使用md5身份验证。