Python學習——redis密碼認證

我們安裝完Redis之後,在終端中輸入redis-cli 直接進入redis數據庫,redis默認是不需要密碼認證的,只要連接的redis服務器的host和port(默認6379)正確,就可以連接使用。在這個信息化時代數據對我們來說是十分重要的我們並不想讓別人隨便訪問我們的數據庫,免密登錄這顯然不是我們所希望的。

  1. 修改配置文件
    redis的配置文件默認在/etc/redis.conf,sudo vim redis.conf找到如下行:

    #requirepass foobared

去掉前面的註釋,並修改爲所需要的密碼:

requirepass 123456(123456是要設置的密碼)
2. 重啓Redis服務
如果Redis已經配置爲service服務,可以通過以下方式重啓:

service redis restart

如果Redis沒有配置爲service服務,可以通過以下方式重啓:
/usr/local/bin/redis-cli shutdown
/usr/local/bin/redis-server /etc/redis.conf
3. 登錄驗證
設置redis認證密碼後,客戶端登錄時需要使用-a參數輸入認證密碼,不添加該參數雖然也可以登錄成功,但是沒有任何操作權限。如下:

Redis-cli -h host -p port  -a pwd
-h:指定主機,默認主機
-p:指定端口,默認6379
-a:指定密碼
--help:查看幫助

redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
使用密碼認證登錄,並驗證操作權限:

redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"

看到類似上面的輸出,說明Reids密碼認證配置成功。

除了按上面的方式在登錄時,使用-a參數輸入登錄密碼外。也可以不指定,在連接後進行驗證:
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) "123456"
127.0.0.1:6379> 
  1. 在命令行客戶端配置密碼(redis重啓前有效)
    前面介紹了通過redis.conf配置密碼,這種配置方式需要重新啓動Redis。也可以通命令行客戶端配置密碼,這種配置方式不用重新啓動Redis。配置方式如下:

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配置文件中的密碼。
  1. 在Redis集羣中使用認證密碼
    如果Redis服務器,使用了集羣。除了在master中配置密碼外,也需要在slave中進行相應配置。在slave的配置文件中找到如下行,去掉註釋並修改與master相同的密碼即可:

masterauth master-password

注意:
yum 安裝redis , 設置密碼可以 直接打開 requirepass ,後面接密碼
另外,必須關掉bind 127.0.0.1 (只允許本機訪問)之後,外部才能訪問redis,否則無法訪問,報錯 connect refuse。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章