1. 程式人生 > >Redis 設定密碼登入

Redis 設定密碼登入

前言

redis在生產環境中通常都會設定密碼以保證一定的安全性,本篇blog就簡單記錄一下如何在redis中設定客戶端登入密碼。

修改redis.conf

RT,開啟redis.conf檔案,搜尋requirepass關鍵字,如下圖: 
這裡寫圖片描述

關注標記的那一行,#requirepass foobared。設定密碼的方法就是去掉註釋的#,把foobared替換成自己的密碼即可,例如將密碼設定為123456: 
這裡寫圖片描述

修改完成後重啟redis,再次通過redis客戶端redis-cli登入並操作可以發現會報一個身份認證錯誤: 
這裡寫圖片描述

這就說明我們已經成功的設定了密碼,所以通過客戶端連線的話必須加上密碼引數才能正常連線: 
這裡寫圖片描述

如上圖所示,加了-a引數之後即可正常連線並操作redis。

jedis設定密碼

當我們用Java客戶端連線redis時會遇到同樣的問題,下面看一段簡單的jedis連線redis的測試程式碼:

package com.firstelite.test;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class Test4Jedis {

    @Test
    public void testTwo() {
        Jedis jedis = new Jedis("192.168.145.10"
); System.out.println("Connection to server sucessfully"); // 檢視服務是否執行 System.out.println("Server is running: " + jedis.ping()); } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

非常簡單,僅僅是測試一下Jedis是否連通redis伺服器,執行junit後我們發現報異常了:

redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.
    at redis.clients
.jedis.Protocol.processError(Protocol.java:117) at redis.clients.jedis.Protocol.process(Protocol.java:142) at redis.clients.jedis.Protocol.read(Protocol.java:196) at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:288) at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:187) at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:109) at com.firstelite.test.Test4Jedis.testTwo(Test4Jedis.java:15) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

顯而易見,由於我們設定了密碼但在這裡又沒有指定密碼,所以報了和剛才相同的錯誤,那麼如何指定密碼呢?很簡單,Jedis的父類BinaryJedis提供了這樣一樣方法:

  public String auth(final String password) {
    checkIsInMulti();
    client.auth(password);
    return client.getStatusCodeReply();
  }
  • 1
  • 2
  • 3
  • 4
  • 5

所以在建立了Jedis的例項後再加上一行jedis.auth("123456"); 即可,最後看一下執行結果: 
這裡寫圖片描述

spring-data-redis設定密碼

通常情況下在實際的java專案中我們會選擇Spring提供的spring-data-redis來操作redis,spring的封裝可以給我們提供很多便捷之處。那麼spring-data-redis又是如何設定密碼的呢?首先定義一個redis.properties配置檔案,定義一組redis屬性供spring載入使用,其中就包含密碼(redis.password):

# Redis settings  
redis.host=192.168.145.10 
redis.port=6379  
redis.password=123456
redis.timeout=100000  
redis.maxTotal=300  
redis.maxIdle=100  
redis.maxWaitMillis=1000  
redis.testOnBorrow=true  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

然後在由Spring封裝的JedisConnectionFactory中來設定密碼屬性即可,下面是完整redis配置:

<!-- redis配置 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
    <property name="maxIdle" value="${redis.maxIdle}" />
    <property name="maxWaitMillis" value="${redis.maxWaitMillis}" />
    <property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
    p:host-name="${redis.host}" p:port="${redis.port}" 
    p:password="${redis.password}" p:pool-config-ref="poolConfig" />
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
    <property name="connectionFactory" ref="connectionFactory" />
</bean>

相關推薦

Redis 設定密碼登入

前言 redis在生產環境中通常都會設定密碼以保證一定的安全性,本篇blog就簡單記錄一下如何在redis中設定客戶端登入密碼。 修改redis.conf RT,開啟redis.conf檔案,搜尋requirepass關鍵字,如下圖:  關注標記的那一行,#requirep

Redis 設定密碼登入

前言 redis在生產環境中通常都會設定密碼以保證一定的安全性,本篇blog就簡單記錄一下如何在redis中設定客戶端登入密碼。 修改redis.conf RT,開啟redis.conf檔案,搜尋requirepass關鍵字,如下圖:  關注標記的那一行,#req

Redis.....CentOS7下redis設定密碼、開放遠端訪問許可權

redis安裝成功後,預設是沒有設定密碼的啟動redis-cli,不需要認證,可直接進行操作,如下: 1 2 3 [[email protected]]# redis-cli 127.0.0.1:6379> keys * (empty li

redis設定密碼(windows)

在Redis中找到redis.windows-service.conf這個檔案並以記事本(或者Notepad++)的方式開啟,找到修改密碼這一段: ################################## SECURITY #############

Redis 設定密碼並開啟自啟 Windows

Redis 設定密碼並開啟自啟 Windows 1、開啟Redis的安裝目錄,或者解壓目錄。 找到圖中兩個檔案,開啟。 2、搜尋# requirepass foobared快速定位。(兩個檔案同樣改法) 如圖,將密碼改成自己想改的密碼。記得中間要有空格 3、將

如何給redis設定密碼

安裝了redis如果是放到內網,設不設定密碼倒是無所謂。但是如果是放到外網去的話,設定密碼還是很有必要的,特別是安裝redis的時候是root許可權下。這樣伺服器被攻擊是分分鐘的事情,所以底下介紹下給redis設定密碼的一種方式: 1、初始化Redis密碼: 在

redis設定密碼、遠端連線

設定密碼 vi /opt/redis/etc/redis.conf 找到 requirepass ,去掉註釋,並改為自己的密碼 requirepass yourPassword 此時,使用redis-cli 命令登入redis,發現沒有許可權

Linux安裝配置redis 、啟動redisredis設定密碼

由於間隔時間較長、機器的環境不同等等原因,所以每次安裝redis的時候總是不那麼順利,所以這次我要做個筆記 1、先用命令:gcc -v 檢查linux是否安裝了gcc 如果沒有安裝就按照下面的命令依次執行 yum install cpp

redis 設定密碼連結

帶密碼配置檔案啟動 需要永久配置密碼的話就去redis.conf的配置檔案中找到requirepass這個引數,如下配置: 修改redis.conf配置檔案   # requirepass foobared requirepass 123   指定密碼123

redis配置密碼登入

今天配置了一個redis快取的服務,連通之後想使用密碼登入,找到的大部分都是在redis.conf修改 requirepass但我修改後重啟服務,不需要密碼還是直接取到了所有的key 直到我使用了 成功

linux下安裝redis設定密碼以及遠端登入redis服務

今天給大家分享一下redis在linux系統下進行安裝我使用的是ubuntu一:在這裡我採用的是線上安裝預設安裝目錄:/usr/local,相當於“C:\Program Files”但是我自己這裡不知道為什麼是安裝到了/etc檔案下了下面看步驟1、apt-get update

python操作資料庫,實現使用者名稱、密碼登入資料庫,首次登入自行設定密碼,並返回工資表明細。

python操作資料庫,實現使用者名稱、密碼登入資料庫,首次登入自行設定密碼,並返回工資表明細。 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 4 # 匯入依賴包 5 import psycopg2 6 7 print("營

centos 寶塔面板 mongodb 設定使用者賬號密碼登入

掛在網上的mongodb測試資料庫,預設的無密碼,埠直接登入,本來想著不會有人盯上吧,結果,一個月後,被黑客刪庫了,所以不管是介面,還是資料庫的安全性一定要保證!!! 下面針對我的寶塔面板環境,記錄給mongodb設定賬號密碼的過程。 1、進入mongodb安裝目錄,下面是寶塔面

Mac設定密碼登入Centos伺服器

前言:沒有密碼還是美滋滋 step1:在Mac終端生成公鑰和私鑰 cd ~/.ssh ssh-keygen -t rsa 之後回車三次,ls檢視: 多了id_rsa 和id_rsa.pub兩個檔案 step2:傳送公鑰到CentOS伺服器端 scp id_rsa.p

centos7 yum安裝配置redis設定密碼 centos7 yum安裝配置redis設定密碼

學習應該圍繞著體系而進行,適當的學習底層,是為了建立體系的連結點,而不是為追底層而底層。 首頁 聯絡 管理 隨筆 - 43  文章 - 0  評論

redis 安裝啟動及設定密碼<windows>及遇到的問題

redis 安裝啟動及設定密碼 安裝 1.1 下載解壓包,直接解壓到任意路徑下即可 windows下載地址:ttps://github.com/MSOpenTech/redis/releases 2.啟動 2.1 啟動要先開啟一個控制檯作為服務端,

redis伺服器在windows環境安裝設定密碼並註冊為服務

1.安裝windows版本的redis伺服器與客戶端 下載地址:https://github.com/MSOpenTech/redis/releases 2.解壓redis 主機 解壓之後 顯示的目錄如下 3.設定Redis密碼 找到目錄下的 redis.wi

redis如何設定密碼

密碼設定 這裡簡單介紹一下redis如何設定密碼 redis密碼設定有兩種方式,一種需要重啟redis服務,一種不需要重啟redis服務。 首先,介紹一下需要重啟redis服務的設定方式 即找到redis的配置檔案—redis.conf檔案,然後修改裡面的requirepas

Ubuntu 環境下的mysql 遠端訪問,redis 遠端訪問和設定密碼 ,mongo 安裝 ,設定使用者密碼,開啟遠端訪問

MySQL遠端訪問 1.編輯mysql配置檔案,把其中bind-address = 127.0.0.1註釋了 vi /etc/mysql/mysql.conf.d/mysqld.cnf 2.使用root進入mysql命令列,執行如下2個命令,示例中mysql的root賬號密碼:root grant

redis安裝(Linux)、啟動、退出、設定密碼、遠端連線

2.1 安裝redis 下載redis安裝包(如:redis-2.8.17.tar.gz) tar -zxvf redis-2.8.17.tar.gz cd redis-2.8.17 make sudo make install 2.2 後臺啟動服務端 nohup redis-serv