Postgres通过SSH远程访问请求数据库密码

问题描述 投票:0回答:1

Postgres 10安装在Ubuntu 18.04沙箱上

如果我用Putty SSH连接到我的机器,我就可以连接到我的数据库了。 (VirtualBox端口22转发在VirtualBox中)

dangel@ubuntu1804nginx:~$ psql
psql (10.5 (Ubuntu 10.5-0ubuntu0.18.04))
Type "help" for help.

dangel=#

但是,当尝试通过PGAdmin或DataGrip设置远程连接时,我被要求输入数据库用户名和密码......

enter image description here

enter image description here

The specified database user/password combination is rejected: 
[08004] The server requested password-based authentication, but no password was provided

我已经尝试将databaseuser字段留空,并填充它们。一样。

这让我困惑的原因是,我想通过SSH连接,我应该使用ident身份验证?从而不需要密码? (我没有设置密码)(我知道我必须错过一个简单的概念,但它是什么?)

编辑:日志文件条目

2018-09-02 03:57:07.865 UTC [13127] dangel@dangel FATAL:  password authentication failed for user "dangel"
2018-09-02 03:57:07.865 UTC [13127] dangel@dangel DETAIL:  User "dangel" has no password assigned.
        Connection matched pg_hba.conf line 94: "host    all             all             ::1/128                 md5"
postgresql ubuntu ssh pgadmin datagrip
1个回答
0
投票

您的pg_hba需要密码才能使用该密码,但用户没有密码,因此无法满足。

在数据库中为数据库用户分配密码(alter user dangel password 'open_sesame';或使用\password psql命令),或将“pg_hba.conf”的第94行更改为“trust”而不是“md5”。或者第三个选项(未经测试),使“常规”选项卡上的“主机”为空字符串,而不是“localhost”。

您的psql命令有效,因为它在pg_hba中使用“本地”条目,而不是“主机”条目。如果你想使用psql来调试它,那么你需要使用psql -h localhost,它将强制它通过与其他pg_hba条目相同的pg_hba条目。

© www.soinside.com 2019 - 2024. All rights reserved.