145 votes

Comment définir un mot de passe pour Redis ?

Je travaille avec redis sur ma machine locale donc je n'ai pas vraiment besoin de mettre en place un mot de passe pour me connecter au serveur avec mon client php (j'utilise predis comme client). Cependant, je déplace mon application sur un serveur live, et je veux donc mettre en place un mot de passe pour me connecter à mon serveur redis.

J'ai quelques questions à poser :

  • J'ai cherché partout sur internet comment mettre en place le mot de passe et il semble que je doive ajouter le mot de passe dans le fichier redis.conf. Je n'ai pas trouvé ce que je devais ajouter exactement dans le fichier de configuration pour définir le mot de passe.

  • également dans predis comment dois-je ajouter le mot de passe. J'utilise le tableau de paramètres suivant pour me connecter au serveur redis

    $my_server = array('host' => '127.0.0.1', 'port' => 6379, 'database' => 1) ;

Dois-je ajouter le mot de passe de cette manière ?

> $my_server = array('host'     => '127.0.0.1','port'     =>
> 6379,'database' => 1,'password'=>password);
  • dernière question, j'essaie d'arrêter mon serveur redis sur le serveur live. A chaque fois que j'entre la commande suivante, j'obtiens le même message d'erreur

    redis-server stop

    [23925] 23 Sep 20:23:03 # Erreur fatale, impossible d'ouvrir le fichier de configuration 'stop'.

    En général, sur ma machine locale, j'entre

    /etc/init.d/redis-server stop

pour arrêter le serveur redis mais cela ne fonctionne pas sur mon serveur live car il n'y a pas de processus appelé redis-server dans mon /etc/init.d

164voto

profitphp Points 4883

Pour définir le mot de passe, éditez votre fichier redis.conf, trouvez cette ligne

# requirepass foobared

Ensuite, décommentez-le et remplacez foobared par votre mot de passe. Assurez-vous de choisir un mot de passe assez long, 32 caractères ou plus serait probablement une bonne chose, il est facile pour un utilisateur extérieur de deviner jusqu'à 150k mots de passe par seconde, comme le mentionnent les notes dans le fichier de configuration.

Pour vous authentifier avec votre nouveau mot de passe à l'aide de predis, la syntaxe que vous avez indiquée est correcte. Il suffit d'ajouter le mot de passe comme l'un des paramètres de connexion.

Pour arrêter redis... vérifiez dans votre fichier de configuration la présence de l'option pidfile il s'agira probablement d'un

pidfile /var/run/redis.pid

A partir de la ligne de commande, exécutez :

cat /var/run/redis.pid

Cela vous donnera l'identifiant du processus du serveur en cours d'exécution, puis vous n'aurez qu'à tuer le processus utilisant ce pid :

kill 3832

Mise à jour

Je voulais également ajouter que vous pouvez également faire le /etc/init.d/redis-server stop que vous avez l'habitude de travailler sur votre serveur live. Tous ces fichiers dans /etc/init.d/ sont juste des scripts shell, prenez le scripts redis-server de votre serveur local, et copiez-le sur le serveur live au même endroit, et regardez ce qu'il fait avec vi ou n'importe quel autre outil que vous aimez utiliser, vous aurez peut-être besoin de modifier certains chemins et autres, mais cela devrait être assez simple.

97voto

Suhas Gaikwad Points 862

Vous pouvez également utiliser la commande suivante sur le client

cmd : : config set requirepass p@ss$12E45

La commande ci-dessus définira p@ss$12E45 en tant que redis mot de passe du serveur.

86voto

FlavioTroja Points 104

Exemple :

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

29voto

sudo nano /etc/redis/redis.conf 

rechercher et décommenter la ligne # requirepass foobared puis redémarrer le serveur

votre mot de passe est maintenant foobared

26voto

Hlod Points 201

En utilisant redis-cli :

root@server:~# redis-cli 
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK

ceci définira le mot de passe temporairement (jusqu'à ce que redis ou le serveur redémarre)

mot de passe de test :

root@server:~# redis-cli 
127.0.0.1:6379> AUTH secret_password
OK

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X