Redis: установить пароль для redis
Я работаю с redis на своей локальной машине, поэтому мне действительно не нужно настраивать пароль для подключения к серверу с моим клиентом php (я использую predis как клиент). Тем не менее, я перемещаю свое приложение на живой сервер, поэтому я хочу настроить пароль для подключения к моему серверу redis.
У меня есть несколько вопросов:
-
Я проверил по всему интернету, как настроить пароль, и похоже, что мне нужно добавить пароль в redis.conf. Я не смог найти хотя то, что я должен добавить точно в файл конфигурации, чтобы настроить пароль.
-
также в predis, как мне добавить пароль. Я использую следующий массив параметров для подключения к серверу 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-сервер на реальном сервере. Каждый раз, когда я вхожу в следующую команду, я получаю то же сообщение об ошибке
остановка redis-server
[23925] 23 сен 20:23:03 # Неустранимая ошибка, не удается открыть файл конфигурации" stop"
обычно на моей локальной машине я ввожу
/etc/init.d/redis-server stop
чтобы остановить сервер redis, но он не работает на моем реальном сервере, так как в моем /etc/init.d не работает процесс redis-server
Ответы
Ответ 1
Чтобы установить пароль, отредактируйте файл redis.conf, найдите эту строку
# requirepass 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 script с вашего локального сервера и скопируйте его на живой сервер в том же месте, а затем просто посмотрите, что он делает с vi или что бы вы ни хотели использовать, вам может потребоваться изменить некоторые пути и т.д., но это должно быть довольно просто.
Ответ 2
вы также можете использовать следующую команду на клиенте
cmd:: config set requirepass [email protected]$12E45
Команда выше устанавливает [email protected]$12E45
в качестве пароля сервера redis
.
Ответ 3
sudo nano /etc/redis/redis.conf
найти и раскомментировать строку # requirepass foobared
, а затем перезапустить сервер
теперь у вас пароль foobared
Ответ 4
открыть файл конфигурации redis
sudo nano /etc/redis/redis.conf
установить парольную фразу
заменить
# requirepass foobared
с
requirepass YOURPASSPHRASE
перезапустить redis
redis-server restart
Ответ 5
шаг 1. остановить redis-сервер, используя команду ниже
/etc/init.d/redis-server stop
команда 2.enter: sudo nano/etc/redis/redis.conf
шаг 3.find # требуется слово foobared и удалить # и изменить foobared на ваш ПАРОЛЬ
ех. requirepass root
Ответ 6
Я не смог найти хотя то, что я должен добавить точно в конфигурацию файла для настройки пароля.
Конфигурационный файл должен быть расположен в /etc/redis/redis.conf
, а пароль можно установить в разделе SECURITY, которое должно быть расположено между разделами REPLICATION и LIMITS. Настройка пароля выполняется с помощью директивы requirepass. Для получения дополнительной информации попробуйте найти описание AUTH.
Ответ 7
Для этого вам необходимо обновить конфигурационный файл redis. По умолчанию для redis нет пароля.
01) открыть файл конфигурации redis
sudo vi /etc/redis/redis.conf
найдите requirepass в разделе БЕЗОПАСНОСТЬ и раскомментируйте это поле. Затем установите пароль вместо "foobared"
# requirepass foobared
Это должно быть,
requirepass YOUR_PASSWORD
Затем перезапустите redis и запустите redis-cli.
Если вам нужно проверить, правильно ли вы задали пароль, вы можете запустить ниже commads в 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
`
Ответ 8
с помощью redis-cli:
[email protected]:~# redis-cli
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK
это временно установит пароль (до повторного запуска или перезагрузки сервера)
тестовый пароль:
[email protected]:~# redis-cli
127.0.0.1:6379> AUTH secret_password
OK
Ответ 9
Как установить пароль redis?
шаг 1. остановить redis-сервер, используя команду ниже
/etc/init.d/redis-server stop
команда шага 2.enter: sudo nano/etc/redis/redis.conf
шаг 3.find # требуется слово foobared и удалить # и изменить foobared на ваш ПАРОЛЬ
ех. requirepass root
Ответ 10
Пример:
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