我想在Redis中添加密码。
我想知道是否有一种方法可以将加密后的密码保存在redis.conf文件中,而不是明文呢?
或者有没有不在redis.conf文件中存储密码的方法呢?
默认情况下,直到最新版本-6.0.1,redis.conf仍然不支持加密密码。
虽然这种情况是无法完全避免的,但你可以编写一个包装器启动脚本来自动化此过程,该脚本将接受密码作为参数并启动服务。一旦服务启动完成,尽管这不推荐且应该避免,你可以删除配置文件或更改其中的密码。在 REDIS 启动之前,你需要再次运行启动脚本/重新输入原始密码。但这可能会引起其他问题。
请注意 -> redis.conf 可以通过 Linux/操作系统权限进行保护,这是最好的方法。
auth
进行加密密码。您可以在官方文档中查看详细信息。config set requirepass yourpassword
来设置密码,并且这不需要服务器重新启动即可实时设置密码。但是,在服务器重新启动时,将使用之前的密码(写在conf文件中)/没有密码(如果未设置)来验证请求。虽然目前加密还不是一个选项,但 Redis 6 引入了 ACL(访问控制列表),您可以在 redis.conf
文件中存储 SHA256 哈希密码。
请注意,这并不是加密!
从 redis-cli:
acl setuser yourUser on #951249c8e32817cb0727ba2b1440f008c49c582e5daca4a0bd6d64eed1291a37
来自redis.conf
user yourUser on #951249c8e32817cb0727ba2b1440f008c49c582e5daca4a0bd6d64eed1291a37
附加说明:
您可能需要禁用没有密码的default
用户:
从redis-cli中执行:
acl setuser default off
来自 redis.conf
user default off