2011-09-24 60 views
25

Estoy trabajando con redis en mi máquina local, así que realmente no necesito configurar una contraseña para conectarme al servidor con mi cliente php (estoy usando predis como cliente). Sin embargo, estoy moviendo mi aplicación a un servidor en vivo, por lo que quiero configurar una contraseña para conectarme a mi servidor redis.redis: establecer una contraseña para redis

Tengo algunas preguntas:

  • yo nos registramos en todo el Internet sobre cómo configurar la contraseña y parece que tengo que añadir la contraseña en el redis.conf. Sin embargo, no pude encontrar lo que debería agregar exactamente al archivo de configuración para configurar la contraseña.

  • También en predis como debo agregar la contraseña. Estoy usando el siguiente conjunto de parámetros para conectarse al servidor Redis

    $ mi_servidor = array ('anfitrión' => '127.0.0.1', 'puerto' => 6379, 'base de datos' => 1);

debo añadir la contraseña de esta manera?

> $my_server = array('host'  => '127.0.0.1','port'  => 
> 6379,'database' => 1,'password'=>password); 
  • última pregunta, estoy tratando de detener mi Redis-servidor en el servidor en vivo. Cada vez que entro en el siguiente comando, me siguen dando el mismo mensaje de error

    Redis-stop server

    [23925] 23 Sep 20:23:03 # Fatal error, el archivo de configuración no se puede abrir 'stop'

    por lo general en mi máquina local entro

    /etc/init.d/redis-server detener

detener el servidor Redis pero no su trabajo en mi servidor vivo ya que no hay proceso llamado Redis-servidor en mi /etc/init.d

Respuesta

45

para establecer la contraseña, edite su archivo redis.conf, encontrar esta línea

# requirepass foobared 

Entonces descomentarla y el cambio foobared a su contraseña. Asegúrese de elegir algo bastante largo, 32 caracteres más o menos probablemente sean buenos, es fácil para un usuario externo adivinar más de 150k de contraseñas por segundo, como lo mencionan las notas en el archivo de configuración.

Para autenticarse con su nueva contraseña usando predis, la sintaxis que ha mostrado es correcta. Simplemente agregue la contraseña como uno de los parámetros de conexión.

Para apagar Redis ... comprobar en su archivo de configuración para la configuración pidfile, probablemente será

pidfile /var/run/redis.pid 

Desde la línea de comandos, ejecute:

que le dará la identificación del proceso del servidor en ejecución, luego simplemente elimine el proceso usando ese pid:

kill 3832 

actualización

Yo también quería añadir, también se puede hacer el /etc/init.d/redis-server stop que está acostumbrado a trabajar en su servidor en vivo. Todos esos archivos en /etc/init.d/ son solo scripts de shell, toman el script redis-server de su servidor local, y lo copian al servidor en vivo en la misma ubicación, y luego solo miran lo que hace con vi o lo que sea le gusta usar, puede que necesite modificar algunos caminos, pero debe ser bastante simple.

+0

Esto no parece funcionar en Windows. Intenté ambos archivos conf. Intenté reiniciar Redis en muchas combinaciones. Lo único que funcionó fue: "el conjunto de configuración redis-cli requiere pasar un cierto". Además, cada vez que se reiniciaba/cerraba el servidor, se perdía la contraseña. Así que supongo, eso es eso con Windows. – Jeffz

+0

Dependiendo del proceso de instalación elegido, podemos tener el archivo de configuración de Redis como "vi /etc/redis/redis.conf" o "vi /etc/redis/6379.conf" (por ej.) Donde "6379" es el valor elegido para ¡el puerto! –

1

aunque no pude encontrar lo que debo añadir exactamente al archivo de configuración para configurar la contraseña.

archivo de configuración debe estar situado en /etc/redis/redis.conf y la contraseña se puede configurar en la sección de seguridad que debe ser situado entre la sección de replicación y límites. La configuración de la contraseña se realiza utilizando la directiva requirepass. Para obtener más información, intente ver la descripción del comando AUTH.

9
sudo nano /etc/redis/redis.conf 

hallazgo y la línea uncomment # requirepass foobared, a continuación, reinicie el servidor

ahora que la contraseña es foobared

31

también se puede utilizar el comando siguiente en el cliente

cmd ::config set requirepass [email protected]$12E45

el comando anterior establecerá [email protected]$12E45 como contraseña del servidor redis.

+0

Solo para agregar: Como se mencionó en http://www.tutorialspoint.com/redis/redis_security.htm para iniciar sesión a través de redis-cli, primero ingrese al shell redis ejecutando 'redis-cli.exe'. Luego escriba 'AUTH '. – arun

+5

Y para deshabilitar la autenticación de contraseña, simplemente use 'config set requirepass" "' – arun

+2

Y se restablecerá a viejo si reinicia redis. Por lo tanto, agregue el archivo conf también. – theGamblerRises

2

Redis abrir el archivo de configuración

sudo nano /etc/redis/redis.conf 

conjunto frase de contraseña

reemplazar

# requirepass foobared 

con

requirepass YOURPASSPHRASE 

Redis reinicio

redis-server restart 
1

usando Redis-cli:

[email protected]:~# redis-cli 
127.0.0.1:6379> CONFIG SET requirepass secret_password 
OK 

esto va a establecer una contraseña temporal (hasta Redis o reiniciar el servidor)

contraseña de prueba:

[email protected]:~# redis-cli 
127.0.0.1:6379> AUTH secret_password 
OK 
1

Para ello, es necesario actualice el archivo de configuración redis. De manera predeterminada, no hay ninguna contraseña para redis.

01) archivo de configuración abierta Redis

sudo vi /etc/redis/redis.conf 

encontrar requirepass campo bajo SEGURIDAD sección y elimine el comentario de que field.Then establecer su contraseña en lugar de "foobared"

# requirepass foobared 

Debería ser como,

requirepass YOUR_PASSWORD 

A continuación, reinicie redis e inicie redis-cli.

Si necesita comprobar si ha configurado la contraseña correctamente, puede ejecutar debajo de los comandos en redis-cli.

[email protected] ~ $ redis-cli 
127.0.0.1:6379> set key1 18 
(error) NOAUTH Authentication required. 
127.0.0.1:6379> auth admin 
OK 
127.0.0.1:6379> get key1 
(nil) 
127.0.0.1:6379> exit 


[email protected] ~ $ redis-cli 
127.0.0.1:6379> set key1 18 
(error) NOAUTH Authentication required. 
127.0.0.1:6379> auth admin 
OK 
127.0.0.1:6379> set key2 check 
OK 
127.0.0.1:6379> get key2 
"check" 
127.0.0.1:6379> get key1 
(nil) 
127.0.0.1:6379> set key1 20 
OK 
127.0.0.1:6379> get key1 
"20" 
127.0.0.1:6379> exit 

`

2

paso 1. parada Redis servidor mediante el siguiente comando /etc/init.d/redis-server orden de parada 2.enter paso: /etc/redis/redis.conf sudo nano

paso 3.Find # requirepass foobared palabra y retirar # y el cambio foobared a su contraseña

ex. requirepass root

0

Cómo configurar la contraseña de redis?

paso 1. parada Redis servidor mediante el siguiente comando /etc/init.d/redis-server dejar de comando 2.enter

paso: sudo nano /etc/redis/redis.conf

paso 3.Find # requirepass foobared word y eliminar # y cambiar foobared a SU CONTRASEÑA

ex. requirepass raíz

2

Ejemplo:

redis 127.0.0.1:6379> AUTH PASSWORD 
(error) ERR Client sent AUTH, but no password is set 
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass" 
OK 
redis 127.0.0.1:6379> AUTH mypass 
Ok