症状
命令以 NOAUTH Authentication required 失败,常见于服务端设置了密码之后,或迁移到强制认证的受管实例时。客户端在 TCP 层连上但未带凭据即发命令,服务端因此拒绝。受管实例通常还要求 TLS 或除密码外还要求特定用户名。
诊断
用 redis-cli PING 检查是否要求认证;带凭据 PING 确认密码正确;检查客户端配置中的连接串与凭据。
redis-cli -h host -p 6379 PING
根因
服务端要求认证而客户端未提供有效凭据,原因是未配置、密码错误,或服务端现在强制认证而此前没有。
修复
为客户端配置正确凭据,并在连接串或选项中包含服务端期望的用户名与密码;受管服务要求时启用 TLS。凭据应放配置或密钥管理而非代码,并确认客户端未静默使用默认值。
验证
重新连接并执行命令确认成功,并确认客户端使用的是目标凭据而非默认值。命令可用且凭据正确即证明修复。
常见陷阱
把密码硬编码进代码会泄露凭据;应使用环境变量或密钥管理。