← 中文资源

简体中文版本

Redis 报 NOAUTH Authentication required

通过配置凭据并使服务端与客户端的认证设置一致,修复 Redis 的 NOAUTH。

阅读英文原文

症状

命令以 NOAUTH Authentication required 失败,常见于服务端设置了密码之后,或迁移到强制认证的受管实例时。客户端在 TCP 层连上但未带凭据即发命令,服务端因此拒绝。受管实例通常还要求 TLS 或除密码外还要求特定用户名。

诊断

用 redis-cli PING 检查是否要求认证;带凭据 PING 确认密码正确;检查客户端配置中的连接串与凭据。

redis-cli -h host -p 6379 PING

根因

服务端要求认证而客户端未提供有效凭据,原因是未配置、密码错误,或服务端现在强制认证而此前没有。

修复

为客户端配置正确凭据,并在连接串或选项中包含服务端期望的用户名与密码;受管服务要求时启用 TLS。凭据应放配置或密钥管理而非代码,并确认客户端未静默使用默认值。

验证

重新连接并执行命令确认成功,并确认客户端使用的是目标凭据而非默认值。命令可用且凭据正确即证明修复。

常见陷阱

把密码硬编码进代码会泄露凭据;应使用环境变量或密钥管理。