如何在Redis中设置密码?
美国、香港服务器
如何在Redis中设置密码?
01-10 来源:
✅ Redis 设置密码(两种方式 + 完整步骤 + 验证 + 避坑)
适配你当前的 Ubuntu 24.04 + Redis 系统服务版,包含「临时生效密码」和「永久生效密码」两种方式,永久方式是生产环境必用,全部步骤完整、命令可直接复制,配套重启 + 验证 + 取消密码的全套操作,结合你之前学的「改配置、重启服务、查状态」知识点,一次学完!
核心说明:Redis 默认无密码,必须手动设置密码才能保证服务安全,防止未授权访问。
✅ 方式一:永久设置密码(修改配置文件,推荐⭐⭐⭐,生产环境必用)
✅ 核心特点
修改后永久生效,Redis 重启 / 服务器重启后密码不会丢失,是唯一推荐在生产环境使用的方式,也是你问的「修改 Redis 配置文件」的典型场景,步骤和你之前改配置的流程完全一致,按顺序执行即可。
✅ 完整操作步骤(6 步,全部必做)
✔️ 步骤 1:先定位 Redis 真实配置文件路径(避免改错文件)
bash
运行
CONFIG_PATH=$(redis-cli CONFIG GET config_file | grep -v "config_file")
[ -z "$CONFIG_PATH" ] && CONFIG_PATH="/etc/redis/redis.conf"
echo "Redis配置文件路径:$CONFIG_PATH"
✅ 正常输出:Redis配置文件路径:/etc/redis/redis.conf
✔️ 步骤 2:编辑配置文件,添加 / 修改 Redis 密码
用新手友好的nano编辑器打开,命令直接复制:
bash
运行
sudo nano $CONFIG_PATH
打开后按 Ctrl+W 输入关键词 requirepass → 回车,快速定位到密码配置行
原配置默认是:# requirepass foobared (#是注释,foobared是默认示例密码,不生效)
✅ 修改规则:
删除行首的 # 注释符(必须删,否则配置不生效)
把 foobared 改成你自己的密码(如 MyRedis@123456,建议复杂一点)
修改后效果:requirepass MyRedis@123456
修改完成后,按 Ctrl+O → 回车保存 → Ctrl+X 退出编辑器。
✔️ 步骤 3:修复配置文件权限(必做,防止重启失败)
修改配置后文件属主会变成 root,Redis 运行用户无权限读取,执行 2 条命令修复:
bash
运行
sudo chown redis:redis $CONFIG_PATH
sudo chmod 644 $CONFIG_PATH
✔️ 步骤 4:校验配置文件语法(必做,防止密码配置格式错误)
bash
运行
sudo redis-server --test-config $CONFIG_PATH
✅ 成功提示:Configuration loaded → 语法无误,可放心重启。
✔️ 步骤 5:重启 Redis 服务,让密码生效(核心!不重启不生效)
bash
运行
sudo systemctl restart redis-server
✔️ 步骤 6:验证密码是否生效(2 种验证方式,全部通过才算成功)
✅ 验证 1:无密码连接,执行命令会直接报错(证明密码生效)
bash
运行
redis-cli
进入客户端后执行任意命令(如ping/keys *),会提示:
plaintext
(error) NOAUTH Authentication required.
✅ 验证 2:带密码连接 Redis,正常执行命令(最终验证)
推荐 3 种带密码连接方式,任选其一即可,效果完全一致:
bash
运行
# 方式1:连接时直接带密码(最常用,推荐)
redis-cli -a MyRedis@123456
# 方式2:先连接客户端,再输入密码认证(适合脚本/频繁切换)
redis-cli
127.0.0.1:6379> auth MyRedis@123456
认证成功会返回:OK,之后执行ping就会返回PONG,所有命令都能正常执行了。
✅ 方式二:临时设置密码(运行时设置,无需重启,临时生效)
✅ 核心特点
无需修改配置文件、无需重启 Redis 服务,执行命令立即生效;
✘ 缺点:Redis 重启后密码会消失,恢复成无密码状态;
✅ 适用场景:临时给 Redis 加密码、测试环境临时防护、生产环境紧急加密码。
✅ 完整操作步骤(2 步)
✔️ 步骤 1:执行命令临时设置密码
bash
运行
# 1. 先进入redis客户端
redis-cli
# 2. 执行密码设置命令,替换成你的密码
127.0.0.1:6379> config set requirepass MyRedis@123456
✅ 成功返回:OK → 密码立即生效,无需任何重启操作。
✔️ 步骤 2:验证密码生效(和永久方式的验证完全一样)
bash
运行
# 退出当前客户端,重新连接
exit
redis-cli ping
会提示 NOAUTH Authentication required.,证明密码生效;带密码连接即可正常使用。
✅ 补充高频操作:Redis 密码相关常用命令
✔️ 1. 查看 Redis 当前的密码(已设置)
bash
运行
# 先带密码登录客户端
redis-cli -a 你的密码
# 执行查询命令
127.0.0.1:6379> config get requirepass
✅ 输出:1) "requirepass" 2) "MyRedis@123456" → 显示当前密码。
✔️ 2. 取消 Redis 密码(两种方式对应设置方式)
✅ 方式 A:永久取消密码(推荐,修改配置文件)
bash
运行
sudo nano $CONFIG_PATH
找到 requirepass 你的密码 这一行,两种取消方式任选其一:
方式 1:在该行最前面加 # 注释符 → # requirepass 你的密码 (推荐,保留配置,后续想恢复直接删 #即可)
方式 2:直接删除这一行;
保存退出后,必须重启 Redis 服务 生效:sudo systemctl restart redis-server
✅ 方式 B:临时取消密码(运行时,重启失效)
bash
运行
redis-cli -a 你的密码
127.0.0.1:6379> config set requirepass ""
✅ 返回OK,密码立即取消,Redis 恢复无密码状态。
✔️ 3. 修改 Redis 已设置的密码
✅ 方式 A:永久修改(推荐,修改配置文件)
和「永久设置密码」步骤完全一样,打开配置文件,把requirepass后的密码改成新密码,保存重启即可。
✅ 方式 B:临时修改(运行时,重启失效)
bash
运行
redis-cli -a 旧密码
127.0.0.1:6379> config set requirepass 新密码
✅ 必看:设置密码后常见问题 + 避坑清单(解决 99% 的报错)
❌ 坑 1:设置密码后,执行redis-cli ping提示 NOAUTH Authentication required.
✅ 原因:正常现象!证明密码生效了,必须带密码连接才能执行命令,不是报错。
❌ 坑 2:配置文件里改了密码,重启后还是无密码 / 密码不变
✅ 原因 1:忘了删除requirepass行首的#注释符 → 配置是注释,不生效;
✅ 原因 2:改错了配置文件 → 用CONFIG_PATH=$(redis-cli CONFIG GET config_file | grep -v config_file)重新定位真实路径;
✅ 原因 3:修改后没有重启 Redis 服务 → 配置文件的修改必须重启才生效!
❌ 坑 3:带密码连接提示 (error) WRONGPASS invalid username-password pair
✅ 原因:输入的密码错误,仔细核对密码的大小写、特殊字符(如@、_),Redis 密码严格区分大小写!
❌ 坑 4:设置密码后,脚本 / 程序连接 Redis 失败
✅ 解决方案:程序 / 脚本里的 Redis 连接配置,必须加上密码参数,示例格式:
命令行:redis-cli -h 127.0.0.1 -p 6379 -a 你的密码
代码里:连接参数新增 password="你的密码"
❌ 坑 5:密码设置成功,但是重启 Redis 后密码消失
✅ 原因:你用了「方式二 临时设置密码」,这种方式的特性就是重启失效!想永久生效,必须用「方式一 修改配置文件」。
✅ 生产环境密码设置建议(安全最佳实践)
密码必须足够复杂:不要用123456、redis这类弱密码,建议包含「大小写字母 + 数字 + 特殊字符」,如Redis@2026_666;
只用「永久设置方式」:绝对不要依赖临时密码,服务器 / Redis 重启后密码丢失,会导致 Redis 裸奔;
配合 Redis 端口修改:建议把 Redis 默认端口6379改成其他端口(如6389),结合密码双重防护;
限制 Redis 访问 IP:在配置文件里找到bind 127.0.0.1,保持这个配置,让 Redis 只允许本机访问,禁止外网连接,安全性拉满。
✨ 总结(所有核心命令速记,收藏即用)
✅ 永久设置密码(核心)
bash
运行
CONFIG_PATH=$(redis-cli CONFIG GET config_file | grep -v config_file) && [ -z "$CONFIG_PATH" ] && CONFIG_PATH="/etc/redis/redis.conf"
sudo nano $CONFIG_PATH # 改requirepass,删#
sudo chown redis:redis $CONFIG_PATH && sudo chmod 644 $CONFIG_PATH
sudo systemctl restart redis-server
✅ 临时设置密码
bash
运行
redis-cli config set requirepass 你的密码
✅ 带密码连接 Redis
bash
运行
redis-cli -a 你的密码
✅ 验证密码生效
bash
运行
redis-cli ping # 报错NOAUTH → 生效
所有操作都适配你的环境,放心使用,设置密码后你的 Redis 服务就具备基础的安全防护啦!
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快