认证

Syntax
AUTH [username] password
Available since:
1.0.0
Time complexity:
O(N) where N is the number of passwords defined for the user
ACL categories:
@fast, @connection,

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

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

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

AUTH <password>

此表单仅针对使用requirepass设置的密码进行身份验证。 在此配置中,Redis将拒绝由刚连接的客户端执行的任何命令,除非通过AUTH进行身份验证。

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

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

AUTH <username> <password>

为了验证当前连接与ACL列表中定义的连接之一(请参阅ACL SETUSER)以及官方ACL指南以获取更多信息。

当使用ACLs时,命令的单参数形式,即仅指定密码时,假设隐式用户名为“default”。

安全通知

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

RESP2/RESP3 回复

Simple string reply: OK, or an error if the password, or username/password pair, is invalid.

历史

  • 从Redis版本6.0.0开始:添加了ACL样式(用户名和密码)。
RATE THIS PAGE
Back to top ↑