linux虚拟机redis连接报错

今天测试了一下在本机(win10系统)远程连接 centos下的redis,结果报了以下错误:

-DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect

翻译附上….

image-20220307230726168

英语勉强及格的我勉强看了一下这段恼人的英文,貌似有以下解决方案:

首先查看了一下进程:

1
ps -ef | grep redis

image-20220307230628875

貌似很正常!

它说没有绑定IP

我看了看

image-20220307230917595

redis-server redis-6379.conf

正常!

难道是端口原因?

于是:我看了看灭火墙

关闭防火墙:service iptables stop

开启防火墙:service iptables start

防火墙状态:service iptables status

永久关闭:chkconfig iptables off

永久开启:chkconfig iptables on

image-20220307231339145

image-20220307231418130

很正常!3

关闭: systemctl stop firewalld(事实证明,只执行这个,重启之后是不行的,还必须执行systemclt disable firewalld)

(3)对外开发端口

1
2
3
4
5
6
查看想开的端口是否已开:firewall-cmd --query-port=6379/tcp
添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:firewall-cmd --reload
查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp
移除指定端口:firewall-cmd --permanent --remove-port=123/tcp

于是就剩下了身份验证密码!

我一baiduo.com后

https://www.cnblogs.com/doufuyu/p/10861282.html

1.修改redis.conf配置文件,将绑定的ip地址端口号给注释掉。

(redis默认绑定本机地址,所以其他IP连接不上,将这一行注释掉:# bind 127.0.0.1)

image-20220307225923784

2.Linux上的redis默认处于安全保护模式,因此我们无法建立连接,提供了两种解决方法,

2.1 一在redis.conf中设置保护模式为no(protected-mode no),如下图:

image-20220307230024918

2.2 redis默认是不需要密码的,可以直接登录,在这里我们加上安全认证,即加上连接密码(requirepass “my_keyword”),见下图

image-20220307230250589

最后,杀掉redis的相关进程并重启服务,记得启动时一定要指定配置文件。我的启动命令为:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

完美解决!


linux虚拟机redis连接报错
https://1902756969.github.io/Hexo/2022/02/20/linux/linux虚拟机redis连接报错/
作者
发布于
2022年2月20日
许可协议