Redis: установить пароль для Redis - PullRequest
46 голосов
/ 24 сентября 2011

Я работаю с Redis на моей локальной машине, поэтому мне не нужно устанавливать пароль для подключения к серверу с помощью моего php-клиента (я использую predis в качестве клиента).Однако я перемещаю свое приложение на работающий сервер, поэтому я хочу установить пароль для подключения к своему серверу Redis.

У меня есть несколько вопросов:

  • Я проверил по всему интернету, как установить пароль, и похоже, что мне нужно добавить пароль в redis.conf.Я не мог найти то, что я должен добавить именно в файл конфигурации, чтобы установить пароль.

  • также в предисловии, как мне добавить пароль.Я использую следующий массив параметров для подключения к серверу redis

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

я должен добавить пароль таким образом?

> $my_server = array('host'     => '127.0.0.1','port'     =>
> 6379,'database' => 1,'password'=>password);
  • последний вопрос, я пытаюсь остановить мой редис-сервер на работающем сервере.Каждый раз, когда я ввожу следующую команду, я получаю одно и то же сообщение об ошибке

    redis-server stop

    [23925] 23 сен. 20:23:03 # Неустранимая ошибка, не могу открыть файл конфигурации 'stop'

    обычно на моей локальной машине я ввожу

    / etc / init.d / redis-server stop

для остановки сервера redis, но он не работает на моем работающем сервере, так как нет процесса, называемого redis-сервер в моем /etc/init.d

Ответы [ 10 ]

68 голосов
/ 26 сентября 2011

Чтобы установить пароль, отредактируйте файл redis.conf, найдите эту строку

# requirepass foobared

Затем раскомментируйте его и измените foobared на ваш пароль. Убедитесь, что вы выбрали что-то довольно длинное, 32 символа или около того, вероятно, было бы хорошо, для внешнего пользователя легко угадать до 150 тыс. Паролей в секунду, как отмечено в примечаниях в файле конфигурации.

Для аутентификации с новым паролем с использованием predis, указанный вами синтаксис правильный. Просто добавьте пароль в качестве одного из параметров подключения.

Чтобы выключить Redis ... проверьте в вашем конфигурационном файле настройку pidfile, вероятно, это будет

pidfile /var/run/redis.pid

Из командной строки запустите:

cat /var/run/redis.pid

Это даст вам идентификатор процесса работающего сервера, а затем просто убейте процесс, используя этот pid:

kill 3832

Обновление

Я также хотел бы добавить, вы также можете сделать /etc/init.d/redis-server stop, который вы использовали для работы на вашем живом сервере. Все эти файлы в /etc/init.d/ являются просто сценариями оболочки, снимают скрипт redis-server с локального сервера и копируют его на действующий сервер в том же месте, а затем просто смотрят, что он делает с vi или чем-то еще вам нравится использовать, вам может потребоваться изменить некоторые пути и тому подобное, но это должно быть довольно просто.

42 голосов
/ 04 октября 2013

вы также можете использовать следующую команду на клиенте

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

Команда

выше установит p@ss$12E45 как redis пароль сервера.

16 голосов
/ 10 июня 2013
sudo nano /etc/redis/redis.conf 

найдите и раскомментируйте строку # requirepass foobared, затем перезапустите сервер

Теперь ваш пароль foobared

15 голосов
/ 16 августа 2017

Пример:

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
7 голосов
/ 20 апреля 2017

с использованием redis-cli:

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

это временно установит пароль (до перезапуска или перезапуска сервера)

тестовый пароль:

root@server:~# redis-cli 
127.0.0.1:6379> AUTH secret_password
OK
3 голосов
/ 25 июля 2017

шаг 1. остановить сервер redis с помощью следующей команды /etc/init.d/redis-server остановить шаг 2. введите команду: sudo nano /etc/redis/redis.conf

шаг 3.find #requirepass foobared word и удалите # и измените foobared на ВАШ ПАРОЛЬ

ex.requirepass root

3 голосов
/ 11 июля 2017

Для этого вам необходимо обновить конфигурационный файл redis. По умолчанию пароль для redis отсутствует.

01) открыть файл конфигурации redis

sudo vi /etc/redis/redis.conf

find requirepass поле в секции SECURITY и раскомментируйте это поле. Затем установите пароль вместо "foobared"

# requirepass foobared

Это должно быть похоже,

requirepass YOUR_PASSWORD

Затем перезапустите Redis и запустите Redis-Cli.

Если вам нужно проверить, правильно ли вы установили пароль, вы можете запустить ниже запятых в 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

`

3 голосов
/ 27 января 2017

открыть файл конфигурации redis

sudo nano /etc/redis/redis.conf 

установить пароль

заменить

# requirepass foobared

с

requirepass YOURPASSPHRASE

перезагрузка redis

redis-server restart
1 голос
/ 24 сентября 2011

я не смог найти, что именно добавить в файл конфигурации для установки пароля.

Файл конфигурации должен быть расположен на /etc/redis/redis.conf, а пароль можно установитьСекция БЕЗОПАСНОСТЬ, которая должна быть расположена между РЕПЛИКАЦИЕЙ и секцией LIMITS.Установка пароля выполняется с использованием директивы requirepass.Для получения дополнительной информации попробуйте посмотреть описание команды AUTH .

0 голосов
/ 25 июля 2017

Как установить пароль для redis?

шаг 1. остановите сервер redis, используя следующую команду /etc/init.d/redis-server stop

шаг 2. введите команду: sudo nano /etc / redis / redis.conf

шаг 3.find # requirepass слово foobared и удалите # и измените foobared на ВАШ ПАРОЛЬ

ex.requirepass root

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...