亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何設置redis 的權限密碼

如何設置redis 的權限密碼

皈依舞 2019-03-21 14:14:59
如何設置redis 的權限密碼
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

redis作為一個高速數據庫,在互聯網上,必須有對應的安全機制來進行保護,方法有2,如下。
1.比較安全的辦法是采用綁定IP的方式來進行控制。
請在redis.conf文件找到如下配置
# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
#
# bind 127.0.0.1

把# bind 127.0.0.1前面的 注釋#號去掉,然后把127.0.0.1改成你允許訪問你的redis服務器的ip地址,表示只允許該ip進行訪問
這種情況下,我們在啟動redis服務器的時候不能再用:redis-server,改為:redis-server path/redis.conf 即在啟動的時候指定需要加載的配置文件,其中path/是你上面修改的redis配置文件所在目錄,這個方法有一點不太好,我難免有多臺機器訪問一個redis服務。
2.設置密碼,以提供遠程登陸
打開redis.conf配置文件,找到requirepass,然后修改如下:
requirepass yourpassword
yourpassword就是redis驗證密碼,設置密碼以后發現可以登陸,但是無法執行命令了。
命令如下:
redis-cli -h yourIp -p yourPort//啟動redis客戶端,并連接服務器
keys * //輸出服務器中的所有key
報錯如下
(error) ERR operation not permitted

這時候你可以用授權命令進行授權,就不報錯了
命令如下:
auth youpassword

另外,在連接服務器的時候就可以指定登錄密碼,避免單獨輸入上面授權命令
命令如下:
redis-cli -h yourIp-p yourPort -a youPassword

除了在配置文件redis.conf中配置驗證密碼以外,也可以在已經啟動的redis服務器通過命令行設置密碼,但這種方式是臨時的,當服務器重啟了密碼必須重設。命令行設置密碼方式如下:
config set requirepass yourPassword

有時候我們不知道當前redis服務器是否有設置驗證密碼,或者忘記了密碼是什么,我們可以通過命令行輸入命令查看密碼,命令如下:
config get requirepass

如果redis服務端沒有配置密碼,會得到nil,而如果配置了密碼,但是redis客戶端連接redis服務端時,沒有用密碼登錄驗證,會提示:operation not permitted,這時候可以用命令:auth yourpassword 進行驗證密碼,再執行 config set requirepass,就會顯示yourpassword
由于redis并發能力極強,僅僅搞密碼,攻擊者可能在短期內發送大量猜密碼的請求,很容易暴力破解,所以建議密碼越長越好,比如20位。


查看完整回答
反對 回復 2019-03-27
?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

redis配置密碼1.通過配置文件進行配置yum方式安裝的redis配置文件通常在/etc/redis.conf中,打開配置文件找到

[plain] view plain copy

  • #requirepass foobared  

  • 去掉行前的注釋,并修改密碼為所需的密碼,保存文件


  • [plain] view plain copy

  • requirepass myRedis  

  • 重啟redis


  • [plain] view plain copy

  • sudo service redis restart  

  • #或者  

  • sudo service redis stop  

  • sudo redis-server /etc/redis.conf  

  • 這個時候嘗試登錄redis,發現可以登上,但是執行具體命令是提示操作不允許


  • [plain] view plain copy

  • redis-cli -h 127.0.0.1 -p 6379  

  • redis 127.0.0.1:6379>  

  • redis 127.0.0.1:6379> keys *  

  • (error) ERR operation not permitted  

  • redis 127.0.0.1:6379> select 1  

  • (error) ERR operation not permitted  

  • redis 127.0.0.1:6379[1]>   

  • 嘗試用密碼登錄并執行具體的命令看到可以成功執行


  • [plain] view plain copy

  • redis-cli -h 127.0.0.1 -p 6379 -a myRedis  

  • redis 127.0.0.1:6379> keys *  

  • 1) "myset"  

  • 2) "mysortset"  

  • redis 127.0.0.1:6379> select 1  

  • OK  

  • redis 127.0.0.1:6379[1]> config get requirepass  

  • 1) "requirepass"  

  • 2) "myRedis"  

  • 2.通過命令行進行配置

    [plain] view plain copy

  • redis 127.0.0.1:6379[1]> config set requirepass my_redis  

  • OK  

  • redis 127.0.0.1:6379[1]> config get requirepass  

  • 1) "requirepass"  

  • 2) "my_redis"  

  • 無需重啟redis


  • 使用第一步中配置文件中配置的老密碼登錄redis,會發現原來的密碼已不可用,操作被拒絕


  • [plain] view plain copy

  • redis-cli -h 127.0.0.1 -p 6379 -a myRedis  

  • redis 127.0.0.1:6379> config get requirepass  

  • (error) ERR operation not permitted  

  • 使用修改后的密碼登錄redis,可以執行相應操作


  • [plain] view plain copy

  • redis-cli -h 127.0.0.1 -p 6379 -a my_redis  

  • redis 127.0.0.1:6379> config get requirepass  

  • 1) "requirepass"  

  • 2) "my_redis  

  • 嘗試重啟一下redis,用新配置的密碼登錄redis執行操作,發現新的密碼失效,redis重新使用了配置文件中的密碼


  • [plain] view plain copy

  • sudo service redis restart  

  • Stopping redis-server:                                     [  OK  ]  

  • Starting redis-server:                                     [  OK  ]  

  • redis-cli -h 127.0.0.1 -p 6379 -a my_redis  

  • redis 127.0.0.1:6379> config get requirepass  

  • (error) ERR operation not permitted  

  • redis-cli -h 127.0.0.1 -p 6379 -a myRedis  

  • redis 127.0.0.1:6379> config get requirepass  

  • 1) "requirepass"  

  • 2) "myRedis"  


  • 除了在登錄時通過 -a 參數制定密碼外,還可以登錄時不指定密碼,而在執行操作前進行認證。


  • [plain] view plain copy

  • redis-cli -h 127.0.0.1 -p 6379  

  • redis 127.0.0.1:6379> config get requirepass  

  • (error) ERR operation not permitted  

  • redis 127.0.0.1:6379> auth myRedis  

  • OK  

  • redis 127.0.0.1:6379> config get requirepass  

  • 1) "requirepass"  

  • 2) "myRedis"  

  • 3.master配置了密碼,slave如何配置

  • 若master配置了密碼則slave也要配置相應的密碼參數否則無法進行正常復制的。


  • slave中配置文件內找到如下行,移除注釋,修改密碼即可


  • [plain] view plain copy

  • #masterauth  mstpassword  




查看完整回答
反對 回復 2019-03-27
  • 2 回答
  • 0 關注
  • 881 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號