php - password - redis: establecer una contraseña para redis
redis requirepass (10)
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:
Comprobé todo el Internet sobre cómo configurar la contraseña y parece que necesito agregar la contraseña en el archivo 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, ¿cómo debo agregar la contraseña? Estoy usando la siguiente matriz de parámetros para conectarme al servidor redis
$ my_server = array (''host'' => ''127.0.0.1'', ''port'' => 6379, ''database'' => 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 redis-server en el servidor en vivo. Cada vez que ingreso el siguiente comando, sigo recibiendo el mismo mensaje de error
parada de redis-server
[23925] 23 de septiembre 20:23:03 # Error grave, no se puede abrir el archivo de configuración ''detener''
generalmente en mi máquina local entro
/etc/init.d/redis-server stop
para detener el servidor de redis pero no funciona en mi servidor en vivo ya que no hay un proceso llamado redis-server en mi /etc/init.d
Sin embargo, no pude encontrar lo que debería agregar exactamente al archivo de configuración para configurar la contraseña.
El archivo de configuración debe ubicarse en /etc/redis/redis.conf
y la contraseña se puede configurar en la sección SEGURIDAD que debe ubicarse 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 .
Cómo configurar la contraseña de redis?
paso 1. detener el servidor redis usando el siguiente comando /etc/init.d/redis-server stop
comando paso 2.enter: sudo nano /etc/redis/redis.conf
paso 3.verifica # requirepassover foobared word y elimina # y cambia foobared a YOUR PASSWORD
ex. requirepass root
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
Para configurar la contraseña, edite su archivo redis.conf, encuentre esta línea
# requirepass foobared
Luego elimine el comentario y cambie 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 cerrar redis ... compruebe su archivo de configuración para la configuración del archivo pidfile
, probablemente será
pidfile /var/run/redis.pid
Desde la línea de comando, ejecuta:
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 puedes hacer que el /etc/init.d/redis-server stop
estar acostumbrado a trabajar en tu 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.
Para eso, necesita actualizar el archivo de configuración redis. De manera predeterminada, no hay ninguna contraseña para redis.
01) abrir el archivo de configuración redis
sudo vi /etc/redis/redis.conf
encuentre el campo requirepass en la sección SECURITY y descomente ese campo. Luego configure su contraseña en lugar de "foobared"
# requirepass foobared
Debería ser como,
requirepass YOUR_PASSWORD
Luego reinicia redis e inicia redis-cli.
Si necesita verificar si ha configurado la contraseña correctamente, puede ejecutar debajo de los comandos en redis-cli.
sithara@sithara-X555UJ ~ $ 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
sithara@sithara-X555UJ ~ $ 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
`
abrir el archivo de configuración redis
sudo nano /etc/redis/redis.conf
establecer frase de contraseña
reemplazar
# requirepass foobared
con
requirepass YOURPASSPHRASE
reiniciar redis
redis-server restart
paso 1. detener el servidor de redis usando el siguiente comando /etc/init.d/redis-server detener el paso 2.insertar el comando: sudo nano /etc/redis/redis.conf
paso 3.verifica # requirepassover foobared word y elimina # y cambia foobared a YOUR PASSWORD
ex. requirepass root
también puedes usar el siguiente comando en el cliente
cmd :: config set requirepass p@ss$12E45
el comando anterior establecerá p@ss$12E45
como una contraseña del servidor redis
.
usando redis-cli:
root@server:~# redis-cli
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK
esto configurará la contraseña temporalmente (hasta que se reinicie o se reinicie el servidor)
contraseña de prueba:
root@server:~# redis-cli
127.0.0.1:6379> AUTH secret_password
OK
sudo nano /etc/redis/redis.conf
buscar y descomentar la línea # requirepass foobared
, luego reiniciar el servidor
ahora tu contraseña es foobared