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號