设置远程连接redis

修改配置文件

这里假设已经在服务器安装好了redis环境,但是我们现在还无法连接服务器上的redis,这时我们编辑redis.conf文件

image-20220823173502769

1
vim redis.conf

将下面这行注销即可

image-20220823180631332

再次连接,可以看到连接成功

image-20220823173544992

但是这时候,使用不了命令

image-20220823173801151

提示如下:

1
2
3
(error) DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a an authentication password for the default user. NOTE: You only need to do one of the above things in order for the server to start accepting connections
翻译如下:
(错误)DENIED Redis运行在保护模式,因为保护模式已启用,默认用户没有设置密码。在这种模式下,只接受来自loopback接口的连接。如果你想从外部计算机连接到Redis,你可以采用以下解决方案之一:1)只要禁用保护模式发送命令'CONFIG SET protected-mode no'从环回接口连接到服务器正在运行的同一主机,但确保Redis不是公开从互联网访问,如果你这样做。使用CONFIG REWRITE使此更改永久生效。2)或者你可以通过编辑Redis的配置文件来禁用保护模式,并将保护模式选项设置为“no”,然后重新启动服务器。3)如果你只是为了测试而手动启动服务器,用“——protected-mode no”选项重新启动它。4)为默认用户设置认证密码。注意:为了让服务器开始接受连接,您只需要做上面的一件事

设置密码

这里我们选择设置密码

连接服务器,打开客户端

获取当前密码

1
config get requirepass

可以看到当前密码为空

image-20220823174907425

设置密码为123456

1
config set requirepass 123456

image-20220823175735359

再次查看密码

1
config get requirepass

image-20220823175832704

密码设置完成

远程连接redis

方式1:使用auth

我们再来尝试一次远程连接

这时使用任何命令都提示需要验证密码

1
2
3
(error) NOAUTH Authentication required.
翻译:
(错误)NOAUTH需要认证。

进行验证

1
auth 123456

可以看到已经验证成功

image-20220823180053126

使ping命令进行测试

1
ping

可以看到测试成功

image-20220823180331532

方式2:使用-a

除了在客户端里面输入密码验证外,还可以在连接redis的时候输入密码

1
redis-cli -h 主机ip -p 6379 -a 123456

image-20220823180534528