Redis 登陆


Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用。这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性。

修改配置文件redis.conf

#requirepass foobared

去掉前面的注释,并修改为所需要的密码:

requirepass 147258 (其中147258就是要设置的密码)

设置Redis认证密码后,客户端登录时需要使用-a参数输入认证密码,不添加该参数虽然也可以登录成功,但是没有任何操作权限


#不指定密码登陆

[root@Darren1 redis]# redis-cli -h 192.168.91.23 -p 6379

192.168.91.23:6379> ping

(error) NOAUTH Authentication required.

192.168.91.23:6379> keys *

(error) NOAUTH Authentication required.


#使用密码认证登录(其中-p是小写)

[root@Darren1 redis]# redis-cli -h 192.168.91.23 -p 6379 -a 147258

192.168.91.23:6379> ping

PONG


#除了按上面的方式在登录时,使用-a参数输入登录密码外,也可以不指定,在连接后使用auto进行验证:

[root@Darren1 redis]# redis-cli -h 127.0.0.1 -p 6379

127.0.0.1:6379> auth 147258

OK

127.0.0.1:6379> config get requirepass

1) "requirepass"

2) "147258"


远程登陆另外一个redis服务


[root@Darren1 redis]# redis-cli -h 192.168.91.22 -p 6379 -a 123456

192.168.91.22:6379> ping

PONG

192.168.91.22:6379> config get requirepass

1) "requirepass"

2) "123456"


修改密码


(1)动态生效修改密码

127.0.0.1:6379> config set requirepass 123456

OK

127.0.0.1:6379> config get requirepass

1) "requirepass"

2) "123456"

[root@Darren1 redis]# redis-cli -h 127.0.0.1 -p 6379 -a 123456

127.0.0.1:6379> ping

PONG


(2)修改redis.conf

requirepass123456


在Redis集群中使用认证密码

如果Redis服务器,使用了集群。除了在master中配置密码外,也需要在slave中进行相应配置。在slave的配置文件中找到如下行,去掉注释并修改与master相同的密码即可:

# masterauth master-password