centos redis验证_设置redis访问(AUTH)密码(centos7 php redis auth连接被重置)

在服务器上,这里以linux服务器为例,为redis配置密码。

1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)

(1)首先进入redis,如果没有开启redis则需要先开启:

[root@iZ94jzcra1hZ bin]# redis-cli -p 6379

127.0.0.1:6379>

(2)查看当前redis有没有设置密码:

127.0.0.1:6379> config get requirepass

"requirepass"

""

(3)为以上显示说明没有密码,那么现在来设置密码:

127.0.0.1:6379> config set requirepass abcdefg

OK

127.0.0.1:6379>

(4)再次查看当前redis就提示需要密码:

127.0.0.1:6379> config get requirepass

(error) NOAUTH Authentication required.

127.0.0.1:6379>

2.第二种方式 (永久方式)

需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:

修改redis.conf配置文件

# requirepass foobared

requirepass 06929指定密码06929

保存后重启redis就可以了

连接redis

1.redis-cli连接redis

[root@iZ2ze3zda3caeyx6pn7c5zZ bin]# redis-cli

127.0.0.1:6379> keys *

(error) NOAUTH Authentication required.

127.0.0.1:6379> auth 06929 //指定密码

OK

127.0.0.1:6379> keys *

"a"

"cit"

"clist"

"1"

127.0.0.1:6379>

redis 设置auth

进入redis_cli 客户端,相应执行以下命令

config set masterauth 密码

config set requirepass 密码

重新连接客户端,这是就需要将密码带上 ,

auth 密码

config rewrite 可以将config set持久化到Redis配置文件中

其他阅读:

redis配置认证密码

redis配置密码

1.通过配置文件进行配置

yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到

#requirepass foobared

去掉行前的注释,并修改密码为所需的密码,保存文件

requirepass myRedis

重启redis

sudo service redis restart

#或者

sudo service redis stop

sudo redis-server /etc/redis.conf

这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许

redis-cli -h 127.0.0.1 -p 6379

redis 127.0.0.1:6379>

redis 127.0.0.1:6379> keys *

(error) ERR operation not permitted

redis 127.0.0.1:6379> select 1

(error) ERR operation not permitted

redis 127.0.0.1:6379[1]>

尝试用密码登录并执行具体的命令看到可以成功执行

redis-cli -h 127.0.0.1 -p 6379 -a myRedis

redis 127.0.0.1:6379> keys *

"myset"

"mysortset"

redis 127.0.0.1:6379> select 1

OK

redis 127.0.0.1:6379[1]> config get requirepass

"requirepass"

"myRedis"

2.通过命令行进行配置

redis 127.0.0.1:6379[1]> config set requirepass my_redis

OK

redis 127.0.0.1:6379[1]> config get requirepass

"requirepass"

"my_redis"

无需重启redis

使用第一步中配置文件中配置的老密码登录redis,会发现原来的密码已不可用,操作被拒绝

redis-cli -h 127.0.0.1 -p 6379 -a myRedis

redis 127.0.0.1:6379> config get requirepass

(error) ERR operation not permitted

使用修改后的密码登录redis,可以执行相应操作

redis-cli -h 127.0.0.1 -p 6379 -a my_redis

redis 127.0.0.1:6379> config get requirepass

"requirepass"

"my_redis

尝试重启一下redis,用新配置的密码登录redis执行操作,发现新的密码失效,redis重新使用了配置文件中的密码

sudo service redis restart

Stopping redis-server: [ OK ]

Starting redis-server: [ OK ]

redis-cli -h 127.0.0.1 -p 6379 -a my_redis

redis 127.0.0.1:6379> config get requirepass

(error) ERR operation not permitted

redis-cli -h 127.0.0.1 -p 6379 -a myRedis

redis 127.0.0.1:6379> config get requirepass

"requirepass"

"myRedis"

除了在登录时通过 -a 参数制定密码外,还可以登录时不指定密码,而在执行操作前进行认证。

redis-cli -h 127.0.0.1 -p 6379

redis 127.0.0.1:6379> config get requirepass

(error) ERR operation not permitted

redis 127.0.0.1:6379> auth myRedis

OK

redis 127.0.0.1:6379> config get requirepass

"requirepass"

"myRedis"

3.master配置了密码,slave如何配置

若master配置了密码则slave也要配置相应的密码参数否则无法进行正常复制的。

slave中配置文件内找到如下行,移除注释,修改密码即可

#masterauth mstpassword

PS:

在使用config set requirepass my_redis 设置新密码后重启redis,再使用新密码登录失败,新密码失效的原因是在设置新密码后没有使用config rewrite命令将修改持久化到redis.conf配置文件;

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!


版权声明:本文为weixin_29032337原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。