AUTH

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

AUTH 命令在两种情况下对当前连接进行身份验证

  1. 如果 Redis 服务器通过 requirepass 选项进行密码保护。
  2. 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 样式(用户名和密码)。
RATE THIS PAGE
Back to top ↑