Redis客户端返回WRONGPASS invalid username-password pair,说明服务端拒绝了认证信息。Redis 6及以上引入ACL后,问题既可能是密码错误,也可能是用户名、用户状态或客户端参数不匹配。
先确认应用实际发送的是单参数AUTH,还是用户名加密码的双参数AUTH。

区分default用户与命名ACL用户
旧式AUTH password在ACL模型中相当于对default用户认证;命名用户应使用AUTH username password。连接URI也可能需要同时包含用户名和密码。
不要假设所有客户端都会自动使用default用户。升级驱动或迁移托管Redis后,连接串解析方式可能改变。
核对应用实际读取的密钥
检查部署平台中的变量名、密钥版本和是否存在多余空格、换行或URL编码问题。连接池可能在密钥轮换后仍保留旧连接,应按应用的安全流程刷新。
排错时只比较密钥版本或哈希标识,不要把明文密码写入日志、命令行截图或工单。
由授权管理员检查ACL状态
在已授权的管理连接中可用ACL WHOAMI确认当前身份,并用ACL GETUSER 用户名查看目标用户是否启用及规则。ACL LOG可记录失败原因,帮助区分认证和权限拒绝。
不要为了临时恢复把用户改成on nopass或授予allcommands allkeys。认证成功后的NOPERM是另一类授权问题。
修正后逐层验收
先用不暴露密码的安全客户端配置验证认证,再执行PING和业务所需的最小命令。随后刷新应用连接池,观察WRONGPASS是否停止。
如果使用TLS,证书握手与Redis AUTH是两层独立检查;不能用关闭TLS来解决密码错误。
VPS上的凭据轮换安排
可在萤光云或LightNode等隔离环境演练ACL用户创建和客户端升级。轮换时应安排新旧凭据的受控切换窗口,并及时撤销旧凭据。
FAQ
问:密码没变为什么突然WRONGPASS?答:还应检查用户名、用户是否被禁用、客户端是否改用ACL双参数,以及应用是否读取了错误的密钥版本。
温馨提示
温馨提示:Redis不要直接暴露到公网;认证之外仍需网络访问控制、TLS和最小权限ACL。


