Unable to AUTH to MASTER: -ERR Client sent AUTH, but no password is set「建议收藏」

Unable to AUTH to MASTER: -ERR Client sent AUTH, but no password is set「建议收藏」问题描述:redis主从复制时,想要增加密码认证功能。初学了解不多,修改了master的redis_6379.conf,增加”masterauth 123456″,同时修改slave的redis_6380.conf,增加”masterauth 123456″。认为主从配置的认证密码的参数都是masterauth。重新启动后用redis-cli连接slave,输入info replicati…

大家好,又见面了,我是你们的朋友全栈君。

问题描述:

redis主从复制时,想要增加密码认证功能。初学了解不多,修改了master的redis_6379.conf,增加”masterauth  123456″,同时修改slave的redis_6380.conf,增加”masterauth  123456″。认为主从配置的认证密码的参数都是masterauth。重新启动后用redis-cli连接slave,输入info replication,显示master_link_status:down。

在slave的日志会出现:

[9660] 26 Sep 19:03:17.440 # Timeout connecting to the MASTER…

[9660] 26 Sep 19:03:17.440 * Connecting to MASTER 192.168.1.12:6379

[9660] 26 Sep 19:03:17.442 * MASTER <-> SLAVE sync started

[9660] 26 Sep 19:03:17.443 * Non blocking connect for SYNC fired the event.

[9660] 26 Sep 19:03:17.445 * Master replied to PING, replication can continue…

[9660] 26 Sep 19:03:17.445 * Unable to AUTH to MASTER: -ERR Client sent AUTH, but no password is set

意思就是slave用一个密码去登陆master,但是master端并没有设置密码。

经查问题在于master要配置的参数不是masterauth而是requirepass:

requirepass 123456 (redis_6379.conf,master)

masterauth 123456 (redis_6380.conf,slave)

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

1. 修改配置文件

Redis的配置文件默认在/etc/redis.conf,找到如下行:

#requirepass foobared

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

requirepass myPassword

 

2. 重启Redis

如果Redis已经配置为service服务,可以通过以下方式重启:

service redis restart

如果Redis没有配置为service服务,可以通过以下方式重启:

/usr/local/bin/redis-cli shutdown /usr/local/bin/redis-server /etc/redis.conf

 

3. 登录验证

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

$ ./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密码认证配置成功。

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

$ ./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>

 

4. 在命令行客户端配置密码

前面介绍了通过redis.conf配置密码,这种配置方式需要重新启动Redis。也可以通命令行客户端配置密码,这种配置方式不用重新启动Redis。配置方式如下:

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配置文件中的密码。

 

5. 在Redis集群中使用认证密码

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

# masterauth master-password

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/147133.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Ubuntu18.04安装教程

    Ubuntu18.04安装教程Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1LTS2.制作U盘启动盘3.准备Ubuntu18.04.1的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列…

  • 图书馆借阅系统「建议收藏」

    图书馆借阅系统一、图书馆借阅系统是对书籍信息操作的信息管理系统。书籍信息包括书名、作者、编号、是否借出。本系统针对两类用户(图书管理员和学生)使用,对于图书馆管理员,可以进行查看书籍列表、查找书籍、新增书籍信息、删除书籍、退出登录操作;对于学生,可以进行查看书籍列表、查找书籍、借阅书籍、归还书籍、退出登录操作。二、代码部分1.book包的建立Book类的建立对于图书馆借阅系统,把书看作一个对象,根据该book所具有的属性,定义一系列书籍的私有属性,以及对这些属性进行操作的访问器(get())和设置器

  • VLC搭建RTSP直播流,图文介绍

    VLC搭建RTSP直播流,图文介绍将一个视频转成rtsp流,通过vlc播放器,搭建一个rtsp服务器,让rtsp客户端去访问这个视频的rtsp流1需要有vlc播放器,我的版本如下2媒体–>流3添加视频文件,点击添加一个mp4文件4选择串流,然后点击”下一个”5选择新目标,RTSP,然后点击添加6端口默认,路径添加个自定义名……

    2022年10月20日
  • [Dubbo日记](1)Zookeeper安装

    [Dubbo日记](1)Zookeeper安装

  • SVN比较本地相对于上一版本的修改

    SVN比较本地相对于上一版本的修改

  • TaintDroid剖析之File & Memiry & Socket级污点传播

    TaintDroid剖析之File & Memiry & Socket级污点传播

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号