Redis默认配置是不须要密码认证的,也就是说只要链接的Redis服务器的host和port正确,就能够链接使用。这在安全性上会有必定的问题,因此须要启用Redis的认证密码,增长Redis服务器的安全性。html
Redis的配置文件默认在/etc/redis.conf
,找到以下行:linux
#requirepass foobared
去掉前面的注释,并修改成所须要的密码:redis
requirepass myPassword (其中myPassword就是要设置的密码)
若是Redis已经配置为service
服务,能够经过如下方式重启:安全
service redis restart
若是Redis没有配置为service
服务,能够经过如下方式重启:服务器
/usr/local/bin/redis-cli shutdown /usr/local/bin/redis-server /etc/redis.conf
设置Redis认证密码后,客户端登陆时须要使用-a
参数输入认证密码,不添加该参数虽然也能够登陆成功,可是没有任何操做权限。以下:ui
$ ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> keys * (error) NOAUTH Authentication required.
使用密码认证登陆,并验证操做权限:命令行
$ ./redis-cli -h 127.0.0.1 -p 6379 -a myPassword 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myPassword"
看到相似上面的输出,说明Reids密码认证配置成功。rest
除了按上面的方式在登陆时,使用-a
参数输入登陆密码外。也能够不指定,在链接后进行验证:code
$ ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> auth myPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myPassword" 127.0.0.1:6379>
前面介绍了经过redis.conf
配置密码,这种配置方式须要从新启动Redis。也能够通命令行客户端配置密码,这种配置方式不用从新启动Redis。配置方式以下:server
127.0.0.1:6379> config set requirepass newPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "newPassword"
注意:使用命令行客户端配置密码,重启Redis后仍然会使用redis.conf
配置文件中的密码。
若是Redis服务器,使用了集群。除了在master
中配置密码外,也须要在slave
中进行相应配置。在slave
的配置文件中找到以下行,去掉注释并修改与master
相同的密码便可:
# masterauth master-password
文章转自:http://itbilu.com/linux/management/Ey_r7mWR.html