redis设置、查看和校验密码

转自:https://www.cnblogs.com/tenny-peng/p/11543440.html

设置密码有两种方式

1. 命令行设置密码。

运行cmd切换到redis根目录,先启动服务端

>redis-server.exe

另开一个cmd切换到redis根目录,启动客户端

>redis-cli.exe -h 127.0.0.1 -p 6379

客户端使用config get requirepass命令查看密码

>config get requirepass
1)"requirepass"
2)""    //默认空

客户端使用config set requirepass yourpassword命令设置密码

>config set requirepass 123456
>OK

一旦设置密码,必须先验证通过密码,否则所有操作不可用

>config get requirepass
(error)NOAUTH Authentication required

使用auth password验证密码

>auth 123456
>OK
>config get requirepass
1)"requirepass"
2)"123456"

也可以退出重新登录

redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456

命令行设置的密码在服务重启后失效,所以一般不使用这种方式。

2. 配置文件设置密码

在redis根目录下找到redis.windows.conf配置文件,搜索requirepass,找到注释密码行,添加密码如下:

# requirepass foobared
requirepass tenny     //注意,行前不能有空格

重启服务后,客户端重新登录后发现

>config get requirepass
1)"requirepass"
2)""

密码还是空?

网上查询后的办法:创建redis-server.exe 的快捷方式, 右键快捷方式属性,在目标后面增加redis.windows.conf, 这里就是关键,你虽然修改了.conf文件,但是exe却没有使用这个conf,所以我们需要手动指定一下exe按照修改后的conf运行,就OK了。

所以,这里我再一次重启redis服务(指定配置文件)

>redis-server.exe redis.windows.conf

客户端再重新登录,OK了。

>redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456
>config get requirepass
1)"requirepass"
2)"123456"

疑问: redis目录下有两个配置文件redis.windows.conf和redis.windows-server.conf,看到网上有的人用前者有的人用后者,不清楚到底该用哪一个。看了下两个文件又没啥区别,个人就用前者了。

 

下面转自:转自:https://www.cnblogs.com/yanggb/p/11361991.html

Redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式(密码),可以通过编辑【redis.conf】配置文件来启用认证,这里简单介绍一下Redis中如何设置、查看和校验密码(登录验证和操作时验证)。

通过配置文件修改Redis的密码

在【redis.conf】配置文件中有一个【requirepass】配置项,这个配置项就是配置Redis访问密码的参数:

requirepass yanggb

注意事项

1.修改访问密码之后要重启Redis。

2.设置的访问密码要尽可能复杂,尽可能长(正式上线)。因为Reids的查询速度是非常快的,如果一个不怀好意的外部用户想要破解密码的话,一秒钟可以尝试150K个密码,这时候只要设置的密码足够复杂足够长,就可以在一定程度上防止密码被轻易破解。

通过命令修改Redis的密码

修改Redis密码的命令是:

config set requirepass yanggb

注意事项

1.通过命令修改访问密码不需要重启Redis(即时生效)。

2.如果【redis.conf】配置文件中的【requirepass】配置项已经被配置,通过命令修改的访问密码会被记录到该参数中,这种情况下修改之后是一直有效的。

3.如果【redis.conf】配置文件中的【requirepass】配置项没有被配置,通过命令修改的访问密码不会被记录到该参数中,这种情况下重启Redis之后密码就会失效。

查询Redis的密码与权限认证

查询Redis密码的命令是:

config get requirepass

不出意外的话,会报无操纵权限的错误:(error) ERR operation not permitted。

这时候需要先进行权限认证(检验密码):

auth yanggb

再次执行前面的命令就能获取到密码了(??我知道密码还要查密码干嘛,神一样的操作)。

登录有密码校验的Redis

有密码校验的Redis需要在登录Redis的时候输入密码:

redis-cli -p 6379 -a yanggb

也可以先登录之后再进行权限认证:

redis-cli -p 6379
auth yanggb

注意事项

1.auth命令和其他Redis提供的命令一样都是没有加密的,阻止不了攻击者在网络上窃取你的密码。

总结

密码认证层的目的是提供多一层简单的保护,当防火墙或者其他用来保护Redis的系统防御外部攻击失败的时候,这层密码校验层就能有效防止无密码用户对Redis的数据访问。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值