怎么用Redis命令远程连上去,步骤和注意点啥的讲讲
- 问答
- 2025-12-27 03:49:36
- 2
想用Redis命令远程连上另一台机器上的Redis服务,这事儿说简单也简单,说麻烦也麻烦,关键得把几个地方搞对,不然连不上干着急,下面我就一步步说,把要注意的坑也给你点出来。
第一步:确认目标Redis服务器“开门迎客”
你想去别人家串门,首先得确定人家门是开着的,而且愿意让你进,远程连接Redis也是这个道理,默认情况下,Redis为了安全,是只允许本机(也就是它自己运行的那台电脑)连接的,相当于把门从里面锁上了,第一步不是在你自己的电脑上操作,而是要先在运行Redis服务的那台服务器上做好设置。
- 找到配置文件: Redis的行为由一个叫
redis.conf的文件控制,你得找到这个文件,它通常安装在/etc/redis/或者/usr/local/etc/redis/这样的目录下。 - 修改绑定地址: 用文本编辑器打开
redis.conf文件,找到一行叫bind的配置,默认它可能是bind 127.0.0.1或者bind 127.0.0.1 ::1,这意思是只允许本机连接,你要想让它被远程访问,有几种做法:- 最开放(也最危险)的做法: 直接把这行注释掉(在行首加个 ),或者改成
bind 0.0.0.0,这相当于告诉Redis:“监听所有网络接口的连接请求,谁来都行。” 这种方式最简单,但意味着任何知道你这台服务器IP地址的人都能来尝试连接,安全性极差,除非你只是在绝对安全的内部网络里测试,否则强烈不推荐。 - 推荐做法: 指定一个具体的IP地址,比如你的服务器有两个网卡,一个对内(比如
168.1.100),一个对外(比如公网IP),如果你只想让内网的机器连接,那就写成bind 127.0.0.1 192.168.1.100,这样,Redis既允许本机连接,也允许内网那个IP段的连接。
- 最开放(也最危险)的做法: 直接把这行注释掉(在行首加个 ),或者改成
- 设置访问密码(非常重要!): 光开门还不够,最好再加把锁,在
redis.conf文件里,找到requirepass这个配置项,默认是被注释的,你把它前面的注释去掉,然后在后面设置一个复杂的密码,requirepass MySuperStrongPassword123!,这样,客户端连接时就必须提供正确的密码才能操作。 - 关闭保护模式: 新版本的Redis有一个“保护模式”(protected mode),如果Redis没有设置密码,并且没有明确绑定到一个非回环地址(就是除了127.0.0.1之外的地址),它会自动进入保护模式,拒绝远程连接,因为你已经做了上面两步(设置了bind和密码),保护模式通常会自动关闭,但为了保险,你可以检查一下
protected-mode这个配置项,如果它被设置成yes,而你确定你的网络环境安全、并且有密码保护,可以把它改成no。 - 配置防火墙: 服务器本身可能还有一道“围墙”——防火墙,Redis默认使用6379端口,你需要在服务器的防火墙规则里,放行对6379端口的访问,如果是用
iptables,或者云服务商(如阿里云、腾讯云)的安全组,都要记得添加规则,允许来自你客户端IP地址的6379端口的流量进来。 - 重启Redis服务: 修改完配置后,一定要重启Redis服务,让新配置生效,重启命令根据你安装方式不同而不同,可能是
sudo systemctl restart redis或者sudo service redis-server restart。
第二步:在你的客户端机器上执行连接命令
服务器那边门开了,锁设好了,路也通了,现在轮到你这头行动了。

基本的连接命令是使用 redis-cli 这个命令行工具,它的基本格式是:
redis-cli -h <主机IP地址> -p <端口号> -a <密码>
-h后面跟的就是Redis服务器的IP地址,可以是公网IP或者内网IP。-p后面跟端口,默认是6379,如果服务器没改端口,这个可以省略。-a后面跟的就是你在redis.conf里设置的密码。
举个例子:
假设服务器IP是 456.789.10,密码是 MyStrongPass,那么命令就是:
redis-cli -h 123.456.789.10 -p 6379 -a MyStrongPass
敲完回车,如果一切顺利,你的命令行提示符就会变成 456.789.10:6379>,这说明你已经成功连上了,可以开始执行各种Redis命令了,set key1 hello, get key1。

第三步:特别注意那些坑(连不上的常见原因)
很多时候一次就连成功不太现实,下面这些是常见的绊脚石:
- 防火墙/安全组没开: 这是最最常见的原因!你觉得自己配置都对了,但就是连不上,第一反应就应该是检查服务器防火墙和云服务商的安全组规则,确保6379端口对你客户端的IP是放行的,有时候需要放行整个客户端的IP段。
- 密码错误或没传密码: 如果你在服务器设置了密码,但客户端连接时没用
-a参数,或者密码打错了,连接可能会被拒绝,或者连上了但执行任何命令都会报(error) NOAUTH Authentication required.的错误。注意: 直接在命令里用-a参数虽然方便,但密码可能会出现在历史命令里,有安全风险,更安全的方式是先不加-a连接,然后连上后用AUTH <密码>命令来认证。 - bind配置不对: 检查一下
redis.conf里的bind配置,确保它确实绑定到了你客户端试图连接的那个IP地址上,如果你客户端用公网IP连,但服务器只绑定了内网IP,那肯定是连不上的。 - Redis服务根本没在运行: 去服务器上检查一下Redis进程是不是真的跑起来了,可以用
ps aux | grep redis这样的命令看看。 - 网络不通: 最基础的,确保你的客户端机器和Redis服务器之间网络是通的,可以在客户端用
ping <服务器IP>命令测试一下是否能通。
总结一下核心步骤和注意点:
- 核心动作在服务端: 远程连接成功与否,90%的工作在于正确配置Redis服务器。
- 安全第一: 绝对不要在生产环境下使用无密码、绑定
0.0.0的配置,密码要设得又长又复杂。 - 排查顺序: 连不上时,按这个顺序查:网络通不通 -> Redis服务是否运行 -> 防火墙/安全组 -> Redis的bind配置和密码认证。
- 谨慎使用公网IP: 尽量避免将Redis服务暴露在公网上,如果必须这么做,除了强密码,还可以考虑修改默认端口(port 6379),并且只允许特定的可信IP地址连接,这能大大降低被攻击扫描的风险。
把这些步骤和注意点都捋清楚了,你应该就能顺利地远程连上Redis了。
本文由酒紫萱于2025-12-27发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/69184.html
