Redis默認配置是不須要密碼認證的,也就是說只要鏈接的Redis服務器的host和port正確,就能夠鏈接使用。這在安全性上會有必定的問題,因此須要啓用Redis的認證密碼,增長Redis服務器的安全性。html
Redis的配置文件默認在/etc/redis.conf
,找到以下行:linux
#requirepass foobared
去掉前面的註釋,並修改成所須要的密碼:redis
requirepass myPassword (其中myPassword就是要設置的密碼)
若是Redis已經配置爲service
服務,能夠經過如下方式重啓:安全
service redis restart
若是Redis沒有配置爲service
服務,能夠經過如下方式重啓:服務器
/usr/local/bin/redis-cli shutdown /usr/local/bin/redis-server /etc/redis.conf
設置Redis認證密碼後,客戶端登陸時須要使用-a
參數輸入認證密碼,不添加該參數雖然也能夠登陸成功,可是沒有任何操做權限。以下:ui
$ ./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 myPassword 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myPassword"
看到相似上面的輸出,說明Reids密碼認證配置成功。rest
除了按上面的方式在登陸時,使用-a
參數輸入登陸密碼外。也能夠不指定,在鏈接後進行驗證:code
$ ./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>
前面介紹了經過redis.conf
配置密碼,這種配置方式須要從新啓動Redis。也能夠通命令行客戶端配置密碼,這種配置方式不用從新啓動Redis。配置方式以下:server
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
配置文件中的密碼。
若是Redis服務器,使用了集羣。除了在master
中配置密碼外,也須要在slave
中進行相應配置。在slave
的配置文件中找到以下行,去掉註釋並修改與master
相同的密碼便可:
# masterauth master-password
文章轉自:http://itbilu.com/linux/management/Ey_r7mWR.html