【发布时间】:2021-11-02 16:51:22
【问题描述】:
我无法使用主密码和用户名连接到 AWS rds Postgresql,但 pgAdmin 与证书的连接工作正常。
我的网站在尝试连接到数据库时说:
net::ERR_CONNECTION_TIMED_OUT
我 ssh 进入我的 Elastic Beanstalk 的 ec2 实例,当我尝试连接到 rds 时,它给了我以下错误:
psql: error: FATAL: PAM authentication failed for user "user"
FATAL: pg_hba.conf rejects connection for host "111.11.1.11", user "user", database "database", SSL off
我用来连接的命令是这样的:
psql --host=rds_endpoint --port=5432 --username=user --password --dbname=database
我改了主密码,还是不行。
同样,如果我将 pgAdming 与 ssl 证书及其生成的令牌一起使用,则连接成功并且我可以完全访问数据库。
还有,命令
nc -zv rds_endpoint 5432
给出成功的结果:
Ncat: Connected to 111.11.11.11:5432.
主用户名是,密码不包含任何特殊字符。
Master username: user
【问题讨论】:
-
密码是否可能包含特殊字符?尝试逃离它们。 postgresql.org/docs/11/libpq-connect.html#id-1.7.3.8.3.6
-
PAM 是用于实现 IAM 身份验证的技术。您确定您连接的用户确实是主用户吗?
标签: sql postgresql amazon-web-services amazon-rds