¿Cómo configurar la contraseña para Redis?

7 minutos de lectura

avatar de usuario
Don Gorgona

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.

Tengo algunas preguntas:

  • Revisé en Internet cómo configurar la contraseña y parece que necesito agregar la contraseña en redis.conf. Sin embargo, no pude encontrar qué debo agregar exactamente al archivo de configuración para configurar la contraseña.

  • tambien en predis como debo agregar la contraseña. Estoy usando la siguiente matriz de parámetros para conectarme al servidor redis

    $mi_servidor = matriz(‘host’ => ‘127.0.0.1’,’puerto’ => 6379,’base de datos’ => 1);

¿Debo agregar 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 servidor redis en el servidor en vivo. Cada vez que ingreso el siguiente comando, recibo el mismo mensaje de error

    parada del servidor redis

    [23925] 23 Sep 20:23:03 # Error fatal, no se puede abrir el archivo de configuración ‘detener’

    generalmente en mi máquina local ingreso

    /etc/init.d/redis-servidor parada

para detener el servidor redis pero no funciona en mi servidor en vivo ya que no hay un proceso llamado redis-server en mi /etc/init.d

avatar de usuario
beneficiophp

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

# requirepass foobared

Luego descoméntelo y cambie foobared a su contraseña. Asegúrese de elegir algo bastante largo, 32 caracteres más o menos probablemente sería bueno, es fácil para un usuario externo adivinar más de 150k contraseñas por segundo, como 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 cerrar redis… revise su archivo de configuración para el pidfile configuración, probablemente será

pidfile /var/run/redis.pid

Desde la línea de comando, ejecute:

cat /var/run/redis.pid

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

kill 3832

Actualizar

También quería agregar, también podrías hacer el /etc/init.d/redis-server stop estás acostumbrado a trabajar en tu servidor en vivo. Todos esos archivos en /etc/init.d/ son solo scripts de shell, tome el script del servidor redis de su servidor local y cópielo en el servidor en vivo en la misma ubicación, y luego mire lo que hace con vi o lo que sea le gusta usar, es posible que deba modificar algunas rutas y demás, pero debería ser bastante simple.

  • Esto no parece funcionar en Windows. Probé ambos archivos conf. Intenté reiniciar Redis en muchas combinaciones. Lo único que funcionó fue: “redis-cli config set requirepass somepass”. Además, cada vez que se reiniciaba/apagaba el servidor, perdía la contraseña. Así que supongo que eso es lo que pasa con las ventanas.

    – Jeffz

    6 de enero de 2017 a las 3:31


  • 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 ejemplo) donde “6379” es el valor elegido para el ¡Puerto!

    –Eduardo Lucio

    04/09/2017 a las 19:21

  • ¿Hay una longitud máxima de contraseña?

    – Andreas Kralj

    22 de febrero de 2019 a las 17:20

  • Además, si el servidor Redis se está ejecutando, imprime el pid en la parte superior al iniciar… debería decir Redis version=xxx bits=64, commit=xxxxxx, modified=0, pid=xxxx

    – dave4jr

    9 oct 2019 a las 21:59

  • Redis mejoró, las máquinas se volvieron más rápidas. El archivo de configuración de Redis 6 establece que “dado que Redis es bastante rápido, un usuario externo puede probar hasta 1 millón de contraseñas por segundo en una caja moderna”. Fueron 150K 🙂 Yo personalmente estaba usando algo como esto openssl rand 50 | openssl base64 -A para generar una contraseña larga. Sin embargo, tal vez sea mejor usar ACL ahora.

    – Lashae

    15 de septiembre de 2020 a las 5:57


avatar de usuario
Suhas Gaikwad

también puede usar el siguiente comando en el cliente

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

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

  • Solo para agregar: como se mencionó en tutorialspoint.com/redis/redis_security.htm para iniciar sesión a través de redis-cli, primero acceda al shell de redis ejecutando redis-cli.exe. Luego escribe AUTH <password>.

    – arun

    13 mayo 2015 a las 18:28

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

    – arun

    13 mayo 2015 a las 18:39

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

    – el jugador se levanta

    17 de noviembre de 2016 a las 13:33

  • Config set requirepass “myPassword”, este comando no funciona para mí, cuando ejecuto este comando, se ejecuta sin errores. Luego reinicié mi instancia de Redis. Pero todavía puedo hacer ping a la instancia de Redis desde CLI sin probar ninguna contraseña. Más tarde revisé mi redis.conf para el atributo requirepass, allí lo encontré en el estado predeterminado, lo que significa que el comando config set requirepass no pudo establecer el valor de requirepass en mi configuración, esa es la razón por la que no estaba funcionando. ¿Alguna conjetura/razón por la que no funciona?

    –Ashish Shukla

    17 de septiembre de 2020 a las 2:20

  • pero debe emitir esto después de cada advenedizo del servidor. si no, no muerde, ¿verdad? eso es lo que estoy recibiendo.

    – mjs

    11 de febrero de 2021 a las 17:01

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

  • Si uno está usando redis-py, el comando asociado es: redis.Redis.config_set('requirepass', "mycoolpassword")

    – james campbell

    15 de junio de 2020 a las 5:15

  • Config set requirepass “myPassword”, este comando no funciona para mí, cuando ejecuto este comando, se ejecuta sin errores. Luego reinicié mi instancia de Redis. Pero todavía puedo hacer ping a la instancia de Redis desde CLI sin probar ninguna contraseña. Más tarde revisé mi redis.conf para el atributo requirepass, allí lo encontré en el estado predeterminado, lo que significa que el comando config set requirepass no pudo establecer el valor de requirepass en mi configuración, esa es la razón por la que no estaba funcionando. ¿Alguna conjetura/razón por la que no funciona?

    –Ashish Shukla

    17 de septiembre de 2020 a las 2:20

  • @AshishShukla, ¿cómo reiniciaste tu instancia de Redis?

    – Lea Reimann

    20 de mayo de 2021 a las 12:52


  • @LeaReimann en Linux puede usar el comando -> sudo systemctl restart redis

    –Ashish Shukla

    22 de mayo de 2021 a las 14:57

avatar de usuario
Saurabh Chandra Patel

sudo nano /etc/redis/redis.conf 

encontrar y descomentar línea # requirepass foobaredluego reinicie el servidor

ahora tu contraseña es foobared

usando redis-cli:

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

esto establecerá la contraseña temporalmente (hasta que redis o reinicie el servidor)

contraseña de prueba:

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

avatar de usuario
VQA NGUYEN

Para aquellos que usan docker-composees realmente fácil establecer una contraseña sin ningún archivo de configuración como redis.conf. Así es como normalmente usaría la imagen oficial de Redis:

redis:
    image: 'redis:4-alpine'
    ports:
      - '6379:6379'

Y esto es todo lo que necesita cambiar para establecer una contraseña personalizada:

  redis:
    image: 'redis:4-alpine'
    command: redis-server --requirepass yourpassword
    ports:
      - '6379:6379'

Todo se iniciará normalmente y su servidor Redis estará protegido por una contraseña.

Para detalles, esta entrada de blog parece apoyar la idea.

avatar de usuario
Y si.

abrir el archivo de configuración de redis

sudo nano /etc/redis/redis.conf 

establecer frase de contraseña

reemplazar

# requirepass foobared

con

requirepass YOURPASSPHRASE

reiniciar redis

redis-server restart

  • Si está utilizando redis como un servicio en Windows, debe establecer una contraseña en redis.windows-service.conf archivo también.

    – Munam Yousuf

    26 de agosto de 2021 a las 19:45

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad