【问题标题】:Why is password authentication failing when md5 hashing passwords in AWS Redshift?为什么在 AWS Redshift 中对密码进行 md5 哈希处理时密码身份验证失败?
【发布时间】:2026-02-01 12:30:01
【问题描述】:

我正在尝试在我的 AWS Redshift 集群上创建一个新用户。在创建用户并对密码进行哈希处理时,我遵循了the documentation,但在尝试使用真实密码登录时,我不断遇到身份验证失败。

我所做的一些示例细节:

在 Mac 上从 bash shell 创建哈希:

echo -n "my_userMyPassword1" | md5
1ce2ff3ac550ebd14b9fbf01e91d84cd

然后以超级用户身份在 redshift 集群上:

CREATE USER my_user PASSWORD 'md51ce2ff3ac550ebd14b9fbf01e91d84cd' CONNECTION LIMIT 20;

当我尝试从命令行以用户身份登录时,我收到以下错误消息:

psql -h mycluster.myregion.redshift.amazonaws.com -p 1234 -U my_user myredshiftdb
Password for user my_user: 
psql: FATAL:  password authentication failed for user "my_user"
FATAL:  password authentication failed for user "my_user"

我使用 redshift md5 函数验证了哈希是正确的。我也在不散列密码时创建了帐户,并且可以成功登录。我尝试了密码的变体(使其超级简单和简短),但无济于事。

这是我正在使用的红移版本:

SELECT VERSION();
                                                         version                                                          
--------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.1499
(1 row)

【问题讨论】:

  • 我认为它可能会将“md5”附加到您的密码中。看看它怎么说PASSWORD '** md5 **1ce2ff3ac550ebd14b9fbf01e91d84cd'?不确定这是否正确。还有,你为什么用md5?
  • 按照 AWS 文档,我有意将 md5 添加到哈希中。您有使用 Redshift 替代 MD5 的示例吗?
  • 我没有,只是看起来很奇怪,我认为可能是错字。

标签: amazon-web-services amazon-redshift


【解决方案1】:

您正在创建反向的用户/密码哈希。密码在前,用户在后。

echo -n "MyPassword1my_user" | md5

【讨论】:

  • 呃。就是这样。 :facepalm: 谢谢!
最近更新 更多