redis持久化密码到配置文件
方法一:通过命令行修改并持久化到配置文件(推荐)
这是最常用和最安全的方法,无需手动编辑配置文件。
连接到 Redis 服务器
使用 redis-cli 连接到你的 Redis 实例。
bash
redis-cli
# 如果Redis不在本地或使用了非默认端口,请使用 -h 和 -p 参数
# redis-cli -h your_redis_host -p 6379
设置密码
使用 CONFIG SET 命令来设置密码。例如,将密码设置为 your_strong_password_123。
bash
127.0.0.1:6379> CONFIG SET requirepass "your_strong_password_123"
如果命令成功,你会看到 OK 的响应。
⚠️ 注意:此时密码已经生效,但你当前的 redis-cli 连接还没有认证。下一个命令可能会报错 (error) NOAUTH Authentication required。你需要先进行认证。
认证当前连接(可选但建议)
在你当前的 redis-cli 会话中,使用 AUTH 命令来验证,这样你就可以继续操作。
bash
127.0.0.1:6379> AUTH your_strong_password_123
OK
将更改写入配置文件
这是关键的一步,它将当前在内存中的配置(包括刚设置的密码)持久化到 redis.conf 文件中。
bash
127.0.0.1:6379> CONFIG REWRITE
OK
CONFIG REWRITE 命令会尽可能地以原子方式将当前的配置写回配置文件,它会对文件进行重写,而不是简单的追加。
✅ 完成!现在密码已经安全地保存到了配置文件中。
方法二:直接手动编辑配置文件
你也可以通过直接修改 Redis 的配置文件来设置密码。
找到 Redis 配置文件
Redis 配置文件的通常位置因操作系统和安装方式而异:
Linux ( apt 安装 ): /etc/redis/redis.conf
Linux ( 源码编译 ): 在你编译时指定的目录,通常是 /usr/local/redis/redis.conf
macOS ( Homebrew ): /usr/local/etc/redis.conf
Windows: 与 redis-server.exe 在同一目录下
编辑配置文件
使用文本编辑器(如 vim, nano, 或记事本)打开 redis.conf 文件。
bash
sudo vim /etc/redis/redis.conf
找到并修改 requirepass 指令
在配置文件中搜索 requirepass。你可能会找到一行被注释掉的示例:
bash
\# requirepass foobared
将这一行取消注释(删除行首的 #),并将 foobared 替换为你自己的强密码。
bash
requirepass your_strong_password_123
如果找不到这行,直接在文件的安全部分(SECURITY section)或者文件末尾添加这行也可以。
保存文件并重启 Redis
保存对配置文件的修改,然后重启 Redis 服务以使更改生效。
Linux (systemd):
bash
sudo systemctl restart redis-server
Linux (SysV Init) 或 macOS:
bash
sudo service redis-server restart
# 或者
sudo /etc/init.d/redis-server restart
Windows:
在服务管理器中重启 Redis 服务,或者关闭并重新启动 redis-server 的终端窗口。
验证密码是否生效
无论使用哪种方法,设置完成后都应进行验证。
尝试无认证访问
bash
redis-cli
127.0.0.1:6379> ping
# 如果设置了密码,你会得到以下错误
(error) NOAUTH Authentication required.
使用密码进行访问
方式 A:在连接时指定密码
bash
redis-cli -a your_strong_password_123
127.0.0.1:6379> ping
PONG # 成功!
(注意:这种方式可能会在你的 shell 历史记录中留下密码,不太安全)
方式 B:连接后认证(更安全)
bash
redis-cli
127.0.0.1:6379> AUTH your_strong_password_123
OK
127.0.0.1:6379> ping
PONG # 成功!
重要安全建议
使用强密码:密码应该足够长且复杂,混合大小写字母、数字和符号。
保护配置文件:确保 redis.conf 文件的权限设置正确,只有授权用户(如 redis 用户和 root)才能读取它,因为其中包含明文密码。
bash
sudo chmod 640 /etc/redis/redis.conf
sudo chown redis:redis /etc/redis/redis.conf
不要使用默认端口:将默认的 6379 端口改为其他端口,可以减少被自动化工具扫描的风险。
绑定 IP:如果 Redis 只需要被本地应用访问,在配置文件中设置 bind 127.0.0.1 来只监听本地回环地址。
防火墙:使用防火墙限制对 Redis 端口的访问。
总结:对于生产环境,最推荐使用 CONFIG SET 后跟 CONFIG REWRITE 的方法,因为它简单、安全且不易出错。

浙公网安备 33010602011771号