AUTH
语法
AUTH [username] password
- 可用时间
- 1.0.0
- 时间复杂度
- O(N),其中 N 是为用户定义的密码数量
- ACL 类别
-
@fast
,@connection
,
AUTH 命令在两种情况下对当前连接进行身份验证
- 如果 Redis 服务器通过
requirepass
选项进行密码保护。 - Redis 6.0 或更高版本实例正在使用 Redis ACL 系统。
在 Redis 6 之前的 Redis 版本中,只能理解该命令的单参数版本
AUTH <password>
此形式仅针对使用 requirepass
设置的密码进行身份验证。在此配置中,Redis 将拒绝刚刚连接的客户端执行的任何命令,除非连接通过 AUTH
进行身份验证。
如果通过 AUTH 提供的密码与配置文件中的密码匹配,则服务器将使用 OK
状态代码进行回复并开始接受命令。否则,将返回错误,客户端需要尝试新的密码。
当使用 Redis ACL 时,该命令应以扩展方式给出
AUTH <username> <password>
为了使用在 ACL 列表中定义的连接之一对当前连接进行身份验证(参见 ACL SETUSER
)以及有关更多信息的官方 ACL 指南。
当使用 ACL 时,该命令的单参数形式(其中只指定密码)假定隐式用户名为“default”。
安全注意事项
由于 Redis 的高性能特性,可以在很短的时间内并行尝试大量密码,因此请确保生成一个强壮且非常长的密码,以便这种攻击不可行。通过 ACL GENPASS
命令可以很好地生成强密码。
RESP2/RESP3 回复
简单字符串回复:OK
,如果密码或用户名/密码对无效,则为错误。历史记录
- 从 Redis 6.0.0 版本开始:添加 ACL 样式(用户名和密码)。