Tha*_*anh 33 ruby-on-rails redis sidekiq ruby-on-rails-4
当我通过命令连接到Redis服务器时,我收到错误NOAUTH身份验证:redis-cli并运行ping以检查Redis是否正常工作.
我找到了NOAUTH Authentication required错误的答案,该错误描述了只有当Redis设置了密码时才会发生此错误,但我检查了Redis配置文件,etc/redis/redis.conf并且没有设置密码.
有没有人知道,如果有其他设置可以导致此错误?谢谢你的帮助.
p/s:我使用的是Ruby on Rails Web框架,Redis数据库用于Sidekiq.
编辑:Redis版本是2.8.4.服务器托管在AWS上.
目前,我决定为Redis服务器设置一个密码,以便在运行时无法设置密码.
(重新启动Redis服务器时,它将正常工作.您可以运行sudo service redis-server restart以重新启动Redis服务器.)
小智 43
我们也遇到了类似的问题.看起来有人去扫描AWS并连接到所有公共redis并可能运行"CONFIG SET REQUIREPASS''",从而锁定正在运行的redis实例.一旦你重新启动 Redis的,在配置恢复到正常状态.
最好的办法是使用AWS安全组策略并阻止端口6379公开.
Thu*_*ika 13
我正在使用 Docker 运行 Redis,并且有一个带有REDIS_PASSWORDenv 变量的身份验证密码。
使用命令连接到容器后docker exec,通过输入redis-cli命令连接到redis CLI。
然后输入auth {password},(用 设定的密码REDIS_PASSWORD)
在命令行中指定您的 redis 密码,redis-cli例如:
redis-cli -h 127.0.0.1 -p 6379 -a "$your_password"
Run Code Online (Sandbox Code Playgroud)
检查你的$your_password。
建议在命令行中为密码添加双引号。
Redis 密码已保存在redis.conf此/etc/redis/目录中,您可以通过以下方式查看/编辑 Redis 配置/密码:
sudo vim /etc/redis/redis.conf
Run Code Online (Sandbox Code Playgroud)
滚动到该SECURITY部分并查找注释指令(用于/输入要在 vim 中搜索的短语并按 Enter 键):
# requirepass foobared
Run Code Online (Sandbox Code Playgroud)
通过删除 来取消注释#,并将 foobared 更改为安全密码(通过按esc键和保存更改:wq)。
您可以用来openssl生成一个安全密码,以便在服务器上的实际项目中使用:
openssl rand 60 | openssl base64 -A
Run Code Online (Sandbox Code Playgroud)
并将安全密码复制到redis.conf
或使用简单密码在本地计算机上进行学习。更改密码后不要忘记通过以下方式重新启动redis服务:
sudo systemctl restart redis.service
Run Code Online (Sandbox Code Playgroud)
用于redis-cli进入redis shell。然后使用 输入密码auth。
127.0.0.1:6379> auth your_password
OK
127.0.0.1:6379>
Run Code Online (Sandbox Code Playgroud)
积分归 DigitalOcean 社区 阅读有关保护 Redis 的更多信息。
| 归档时间: |
|
| 查看次数: |
33523 次 |
| 最近记录: |