Redis怎么取消认证密码设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis怎么取消认证密码设置?相关的知识,希望对你有一定的参考价值。

1.比较安全的办法是采用绑定IP的方式来进行控制。

请在redis.conf文件找到如下配置

# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
#
# bind 127.0.0.1

把# bind 127.0.0.1前面的 注释#号去掉,然后把127.0.0.1改成你允许访问你的redis服务器的ip地址,表示只允许该ip进行访问

这种情况下,我们在启动redis服务器的时候不能再用:redis-server,改为:redis-server path/redis.conf 即在启动的时候指定需要加载的配置文件,其中path/是你上面修改的redis配置文件所在目录,这个方法有一点不太好,我难免有多台机器访问一个redis服务。

2.设置密码,以提供远程登陆

打开redis.conf配置文件,找到requirepass,然后修改如下:

requirepass yourpassword
yourpassword就是redis验证密码,设置密码以后发现可以登陆,但是无法执行命令了。

命令如下:

redis-cli -h yourIp -p yourPort//启动redis客户端,并连接服务器
keys * //输出服务器中的所有key

报错如下
(error) ERR operation not permitted


这时候你可以用授权命令进行授权,就不报错了

命令如下:

auth youpassword

另外,在连接服务器的时候就可以指定登录密码,避免单独输入上面授权命令

命令如下:

redis-cli -h  yourIp-p yourPort  -a youPassword

除了在配置文件redis.conf中配置验证密码以外,也可以在已经启动的redis服务器通过命令行设置密码,但这种方式是临时的,当服务器重启了密码必须重设。命令行设置密码方式如下:

config set requirepass yourPassword

有时候我们不知道当前redis服务器是否有设置验证密码,或者忘记了密码是什么,我们可以通过命令行输入命令查看密码,命令如下:

config get requirepass

如果redis服务端没有配置密码,会得到nil,而如果配置了密码,但是redis客户端连接redis服务端时,没有用密码登录验证,会提示:operation not permitted,这时候可以用命令:auth yourpassword 进行验证密码,再执行 config set requirepass,就会显示yourpassword

由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。(密码在 conf文件里是明文,所以不用担心自己会忘记)

参考技术A

Redis取消认证密码设置:

去掉前面的注释,并修改为所需要的密码:requirepass myPassword (其中myPassword就是要设置的密码)!

如何增加 redis 密码验证?

在cli中,直接auto就好。NS:binns$./redis-cli127.0.0.1:6379>getns-idalloc(error)NOAUTHAuthenticationrequired.127.0.0.1:6379>auth'LahmYyc'OK127.0.0.1

Redis 密码设置和查看密码

Redis 密码设置和查看密码

redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。

   1、初始化Redis密码:

   在配置文件中有个参数: requirepass  这个就是配置redis访问密码的参数;

   比如 requirepass test123;

   (Ps:需重启Redis才能生效)

   redis的查询速度是非常快的,外部用户一秒内可以尝试多大150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);

   2、不重启Redis设置密码:

   在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。

   redis 127.0.0.1:6379> config set requirepass test123

   查询密码:

   redis 127.0.0.1:6379> config get requirepass
   (error) ERR operation not permitted

   密码验证:

   redis 127.0.0.1:6379> auth test123
   OK

   再次查询:

   redis 127.0.0.1:6379> config get requirepass
   1) "requirepass"
   2) "test123"

   PS:如果配置文件中没添加密码 那么redis重启后,密码失效;

   3、登陆有密码的Redis:

   在登录的时候的时候输入密码:

   redis-cli -p 6379 -a test123

   先登陆后验证:

   redis-cli -p 6379

   redis 127.0.0.1:6379> auth test123
   OK

   AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;

   认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。

来自:http://weipengfei.blog.51cto.com/1511707/1217872

 

 
 

以上是关于Redis怎么取消认证密码设置?的主要内容,如果未能解决你的问题,请参考以下文章

redis设置密码以及加固建议

怎么取消电脑谷歌浏览器上的企业认证

Redis 密码设置和查看密码

Redis 密码设置和查看密码

Redis密码设置

如何给redis设置密码