AUTH

语法
AUTH [username] password
可用版本
Redis 开源版 1.0.0
时间复杂度
O(N),其中 N 是为用户定义的密码数量
ACL 类别
@fast, @connection,

AUTH 命令在以下两种情况下验证当前连接:

  1. 如果 Redis 服务器通过 requirepass 选项设置了密码保护。
  2. Redis 6.0 或更高版本实例正在使用 Redis ACL 系统

Redis 6 之前的版本只能理解该命令的单参数版本

此形式仅根据 requirepass 设置的密码进行身份验证。在此配置下,除非连接通过 AUTH 进行身份验证,否则 Redis 将拒绝新连接客户端执行的任何命令。

如果通过 AUTH 提供的密码与配置文件中的密码匹配,服务器会回复 OK 状态码并开始接受命令。否则,将返回错误,客户端需要尝试新密码。

当使用 Redis ACL 时,命令应以扩展方式给出

为了使用 ACL 列表中定义的连接之一验证当前连接(参见 ACL SETUSER),更多信息请参阅官方 ACL 指南

使用 ACL 时,命令的单参数形式(仅指定密码)假定隐式用户名为 "default"。

安全注意事项

由于 Redis 的高性能特性,可以在很短时间内并行尝试大量密码,因此请务必生成一个强大且非常长的密码,以使此攻击不可行。生成强大密码的一个好方法是使用 ACL GENPASS 命令。

RESP2/RESP3 回复

简单字符串回复OK,如果密码或用户名/密码对无效则返回错误。

历史

  • 从 Redis 6.0.0 版本开始:添加了 ACL 风格(用户名和密码)。
评价此页面
返回顶部 ↑