在 Redis 使用过程中,为避免未授权访问导致数据泄露或被恶意篡改,设置密码是基础且关键的安全操作。临时密码会在 Redis 重启后失效,无法满足生产环境需求,因此掌握永久密码设置方法至关重要。本文将分别针对 Linux 和 Windows 11 系统,详细讲解 Redis 永久密码的配置步骤、验证方式及常见问题解决,新手也能轻松上手。
一、前置知识:为什么需要 “永久密码”?
Redis 默认无密码,且绑定本地地址(生产环境需修改绑定 IP),若直接暴露在公网或局域网中,存在极大安全风险。
-
临时密码:通过CONFIG SET requirepass "密码"设置,Redis 重启 / 服务器重启后立即失效,仅适合临时测试场景。
-
永久密码:通过修改 Redis 核心配置文件实现,无论服务如何重启,密码始终有效,是生产环境的标准配置方案。
二、Linux 系统:Redis 永久密码设置步骤
Linux 是 Redis 的主流运行环境(如 CentOS、Ubuntu、Debian),以下操作适用于大多数 Linux 发行版。
1. 定位 Redis 配置文件
Redis 配置文件默认名为redis.conf,常见路径有 3 种,可按顺序查找:
-
系统默认路径:/etc/redis/redis.conf(Ubuntu/Debian 通过apt安装时默认路径)
-
源码安装路径:若通过源码编译安装,路径通常为/usr/local/redis/redis.conf(取决于编译时指定的安装目录)
-
自定义路径:若部署时手动指定过配置文件位置,需对应修改(如/data/redis/conf/redis.conf)
快速查找命令(适用于忘记路径的场景):
# 全局搜索redis.conf文件find / -name "redis.conf"
2. 编辑配置文件设置密码
使用vim或nano编辑器修改配置文件(需管理员权限,添加sudo):
# 以系统默认路径为例,若路径不同需替换sudo vim /etc/redis/redis.conf
在编辑器中执行以下操作:
-
按下/键进入搜索模式,输入requirepass查找配置项(默认被注释,即开头带#);
-
删除#取消注释,在requirepass后添加自定义密码(建议包含大小写字母、数字和特殊符号,如requirepass Redis@2024!);
原配置(被注释)# requirepass foobared# 修改后配置(取消注释并设置密码)requirepass Redis@2024!
-
按下Esc键,输入:wq保存并退出编辑器(若提示 “权限不足”,需重新用sudo打开)。
3. 重启 Redis 服务使配置生效
根据 Linux 发行版和 Redis 安装方式,选择对应的重启命令:
方式 1:系统服务方式(推荐,适用于apt/yum安装)
# Ubuntu/Debiansudo systemctl restart redis-server# CentOS/RHELsudo systemctl restart redis
方式 2:源码安装手动重启(适用于源码编译安装)
# 1. 先停止当前Redis进程(需知道Redis端口,默认6379)sudo redis-cli -p 6379 shutdown# 2. 重新启动Redis并指定配置文件(路径需与实际一致)sudo /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
4. 验证永久密码是否生效
重启后需验证密码是否正常工作,避免配置失误导致无法连接:
# 1. 连接Redis(默认端口6379,若端口修改需加-p指定)redis-cli# 2. 执行任意命令(如查看密钥列表),会提示“需要认证”127.0.0.1:6379> keys *(error) NOAUTH Authentication required.# 3. 输入密码认证,返回“OK”表示成功127.0.0.1:6379> AUTH Redis@2024!OK# 4. 再次执行命令,可正常返回结果(验证生效)127.0.0.1:6379> keys *(empty array)
三、Windows 11 系统:Redis 永久密码设置步骤
Windows 系统中 Redis 多用于开发测试,虽非生产主流,但仍需掌握永久密码配置方法(以 Redis 6.x/7.x 版本为例)。
1. 定位 Redis 配置文件
Windows 下 Redis 配置文件通常在安装目录中,常见路径:
-
默认安装路径:C:\Program Files\Redis\redis.windows.conf(通过 exe 安装包安装时默认路径)
-
自定义安装路径:若安装时修改过路径,需对应查找(如D:\DevTools\Redis\redis.windows.conf)
注意:部分 Windows 版 Redis 可能同时存在redis.conf和redis.windows.conf,优先修改redis.windows.conf(Windows 系统专用配置文件)。
2. 编辑配置文件设置密码
由于 Windows 文件权限限制,建议以 “管理员身份” 编辑配置文件:
-
打开文件管理器,导航到 Redis 安装目录;
-
右键点击redis.windows.conf,选择 “打开方式”→“记事本”(或 Notepad++、VS Code 等编辑器);
- 若提示 “权限不足”,右键编辑器图标(如记事本),选择 “以管理员身份运行”,再通过编辑器 “文件→打开” 选择配置文件;
-
按下Ctrl + F搜索requirepass,找到被注释的配置项;
-
取消注释(删除开头的#),设置密码(如requirepass RedisWin@2024!):
原配置# requirepass foobared# 修改后requirepass RedisWin@2024!
-
保存文件(Ctrl + S)并关闭编辑器。
3. 重启 Redis 服务使配置生效
Windows 下 Redis 有两种运行方式,需对应不同的重启方法:
方式 1:Redis 以 “系统服务” 运行(推荐,开机自启)
-
按下Win + R,输入services.msc打开 “服务” 管理器;
-
在服务列表中找到 Redis 服务(通常名为Redis或Redis Server);
-
右键点击服务,选择 “重启”(若服务未启动,选择 “启动”);
- 若重启失败,检查配置文件路径是否正确(服务属性中可查看 “可执行文件路径”,需包含redis.windows.conf)。
方式 2:手动启动 Redis 进程(适用于临时运行)
-
打开 “命令提示符”(CMD)或 “PowerShell”(建议以管理员身份运行);
-
先停止当前 Redis 进程(若已启动):
切换到Redis安装目录(路径需替换为实际安装路径)cd C:\Program Files\Redis# 停止Redis进程redis-cli.exe shutdown
-
重新启动 Redis 并指定配置文件:
启动时加载修改后的配置文件redis-server.exe "C:\Program Files\Redis\redis.windows.conf"
- 启动成功后,CMD 窗口会显示 Redis 日志(不要关闭此窗口,关闭即停止服务)。
4. 验证永久密码是否生效
打开新的 CMD 或 PowerShell 窗口,执行以下命令验证:
# 1. 切换到Redis安装目录(或配置环境变量后直接执行redis-cli)cd C:\Program Files\Redis# 2. 连接Redisredis-cli.exe# 3. 执行命令提示需要认证127.0.0.1:6379> ping(error) NOAUTH Authentication required.# 4. 输入密码认证,返回OK即生效127.0.0.1:6379> AUTH RedisWin@2024!OK# 5. 验证命令正常执行127.0.0.1:6379> pingPONG
四、常见问题与解决方案
1. 配置后 Redis 启动失败?
-
检查配置文件语法:requirepass后需空格,密码若含特殊符号(如#)需用双引号包裹(如requirepass "Redis#2024!");
-
权限问题:Linux 下确保配置文件所有者为redis用户(sudo chown redis:redis /etc/redis/redis.conf);Windows 下确保配置文件可读写(右键文件→属性→安全→添加当前用户的读写权限)。
2. 密码忘记了怎么办?
- Linux/Windows 通用方案:停止 Redis 服务,修改配置文件注释requirepass项,重启服务后无密码登录,再重新设置密码。
3. 远程连接时密码不生效?
- 需同时修改bind配置(允许远程 IP 访问):在redis.conf中将bind 127.0.0.1改为bind 0.0.0.0(允许所有 IP,生产环境建议指定具体 IP),并关闭保护模式(protected-mode no),重启服务后再远程连接。
五、拓展:生产环境安全建议
-
密码复杂度:避免使用简单密码(如123456、redis),建议长度≥8 位,包含大小写、数字和特殊符号;
-
定期改密:通过修改配置文件 + 重启服务的方式定期更新密码,降低泄露风险;
-
最小权限:Redis 运行用户仅授予必要权限,避免使用root(Linux)或Administrator(Windows)运行;
-
结合防火墙:Linux 通过ufw/iptables,Windows 通过 “高级防火墙” 限制 Redis 端口(默认 6379)的访问 IP。
总结
无论是 Linux 还是 Windows 系统,Redis 永久密码的核心逻辑都是 “修改配置文件 + 重启服务”,关键在于找对配置文件路径和确保服务正常重启。本文步骤覆盖了主流场景和常见问题,按操作执行即可完成安全配置。若在实践中遇到其他问题,欢迎在评论区留言讨论!