在 Redis 中,我们可以通过设置配置文件中 requirepass 项的值,或者使用命令 CONFIG SET requirepass password,来对 Redis 服务器使用密码保护。如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命令解锁,解锁之后才能使用其他 Redis 命令。
如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。
192.168.98.70:6379> AUTH PASSWORD
参数 | 描述 |
---|---|
PASSWORD | 要验证的密码。 |
密码匹配时返回 OK ,否则返回一个错误。如果服务器没有设置密码,那么我们使用 AUTH 命令进行验证,也会报错。
O(1)
>= 1.0.0
使用 AUTH 命令验证没有密码的服务器,报错
127.0.0.1:6379> AUTH "haicoder" (error) ERR Client sent AUTH, but no password is set 127.0.0.1:6379>
因为,我们的服务器没有设置密码,这里我们使用 AUTH 来验证密码,报错。
使用 AUTH 命令验证没有密码的服务器,报错
127.0.0.1:6379> CONFIG SET requirepass haicoder OK 127.0.0.1:6379> QUIT [root@host-192-168-21-207 ~]# redis-cli 127.0.0.1:6379> PING (error) NOAUTH Authentication required. 127.0.0.1:6379> AUTH haicoder OK 127.0.0.1:6379> PING PONG 127.0.0.1:6379> CONFIG SET requirepass "" OK
首先,我们使用 CONFIG SET 命令对当前 redis 服务器设置了密码 “haicoder”,接着,我们使用 QUIT 命令,退出了服务器,并再次使用 redis-cli 命令开启了服务器连接。
此时,我们直接使用 PING 命令,查看服务器连接,此时报错,提示我们需要认证,我们使用 AUTH 命令加上密码,进行服务器认证,认证成功,再次使用 PING 命令,返回成功。
最后,我们再次使用 CONFIG SET 命令取消当前服务器的密码。
如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。