redis沒有實現訪問控制這個功能,可是它提供了一個輕量級的認證方式,能夠編輯redis.conf配置來啓用認證。redis
一、初始化Redis密碼:網絡
在配置文件中有個參數: requirepass 這個就是配置redis訪問密碼的參數;ui
好比 requirepass test123;加密
(Ps:需重啓Redis才能生效)spa
redis的查詢速度是很是快的,外部用戶一秒內能夠嘗試多大150K個密碼;因此密碼要儘可能長(對於DBA 沒有必要必須記住密碼);blog
二、不重啓Redis設置密碼:ip
在配置文件中配置requirepass的密碼(當redis重啓時密碼依然有效)。get
redis 127.0.0.1:6379> config set requirepass test123it
查詢密碼:io
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密碼驗證:
redis 127.0.0.1:6379> auth test123
OK
再次查詢:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
PS:若是配置文件中沒添加密碼 那麼redis重啓後,密碼失效;
三、登錄有密碼的Redis:
在登陸的時候的時候輸入密碼:
redis-cli -p 6379 -a test123
先登錄後驗證:
redis-cli -p 6379
redis 127.0.0.1:6379> auth test123
OK
AUTH命令跟其餘redis命令同樣,是沒有加密的;阻止不了攻擊者在網絡上竊取你的密碼;
認證層的目標是提供多一層的保護。若是防火牆或者用來保護redis的系統防護外部攻擊失敗的話,外部用戶若是沒有經過密碼認證仍是沒法訪問redis的。