Redis默認配置是不需要密碼認證的,也就是說只要連接的Redis服務器的host和port正確,就可以連接使用。這在安全性上會有一定的問題,所以需要啟用Redis的認證密碼,增加Redis服務器的安全性。
1. 修改配置文件
Redis的配置文件默認在/etc/redis.conf,找到如下行:
1
|
#requirepass foobared |
去掉前面的注釋,并修改為所需要的密碼:
requirepass myPassword (其中myPassword就是要設置的密碼)
2. 重啟Redis
如果Redis已經配置為service服務,可以通過以下方式重啟:
1
|
service redis restart |
如果Redis沒有配置為service服務,可以通過以下方式重啟:
1
2
|
/usr/local/bin/redis-cli shutdown /usr/local/bin/redis-server /etc/redis.conf |
3. 登錄驗證
設置Redis認證密碼后,客戶端登錄時需要使用-a參數輸入認證密碼,不添加該參數雖然也可以登錄成功,但是沒有任何操作權限。如下:
1
2
3
|
$ ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> keys * (error) NOAUTH Authentication required. |
使用密碼認證登錄,并驗證操作權限:
1
2
3
4
|
$ ./redis-cli -h 127.0.0.1 -p 6379 -a myPassword 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myPassword" |
看到類似上面的輸出,說明Reids密碼認證配置成功。
除了按上面的方式在登錄時,使用-a參數輸入登錄密碼外。也可以不指定,在連接后進行驗證:
1
2
3
4
5
6
7
|
$ ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> auth myPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myPassword" 127.0.0.1:6379> |
4. 在命令行客戶端配置密碼(redis重啟前有效)
前面介紹了通過redis.conf配置密碼,這種配置方式需要重新啟動Redis。也可以通命令行客戶端配置密碼,這種配置方式不用重新啟動Redis。配置方式如下:
1
2
3
4
5
|
127.0.0.1:6379> config set requirepass newPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "newPassword" |
注意:使用命令行客戶端配置密碼,重啟Redis后仍然會使用redis.conf配置文件中的密碼。
5. 在Redis集群中使用認證密碼
如果Redis服務器,使用了集群。除了在master中配置密碼外,也需要在slave中進行相應配置。在slave的配置文件中找到如下行,去掉注釋并修改與master相同的密碼即可:
1
|
# masterauth master- password |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。