如何增加 redis 密码验证
redis配置密码1.通过配置文件进行配置 yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到#requirepass foobared 去掉行前的注释,并修改密码为所需的密码,保存文件requirepass myRedis 重启redisudo service redis restart #或者 sudo service redis stop sudo redis-server /etc/redis.conf 这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许redis-cli -h 127.0.0.1 -p 6379 redis 127.0.0.1:6379> redis 127.0.0.1:6379> keys * (error) ERR operation not permitted redis 127.0.0.1:6379> select 1 (error) ERR operation not permitted redis 127.0.0.1:6379[1]> 尝试用密码登录并执行具体的命令看到可以成功执行redis-cli -h 127.0.0.1 -p 6379 -a myRedis redis 127.0.0.1:6379> keys * 1) "myset" 2) "mysortset" redis 127.0.0.1:6379> select 1 OK redis 127.0.0.1:6379[1]> config get requirepass 1) "requirepass" 2) "myRedis"2.通过命令行进行配置redis 127.0.0.1:6379[1]> config set requirepass my_redis OK redis 127.0.0.1:6379[1]> config get requirepass 1) "requirepass" 2) "my_redis" 无需重启redi 使用第一步中配置文件中配置的老密码登录redis,会发现原来的密码已不可用,操作被拒绝redis-cli -h 127.0.0.1 -p 6379 -a myRedis redis 127.0.0.1:6379> config get requirepass (error) ERR operation not permitted 使用修改后的密码登录redis,可以执行相应操作redis-cli -h 127.0.0.1 -p 6379 -a my_redis redis 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "my_redis 尝试重启一下redis,用新配置的密码登录redis执行操作,发现新的密码失效,redis重新使用了配置文件中的密码sudo service redis restart Stopping redis-server: [ OK ] Starting redis-server: [ OK ] redis-cli -h 127.0.0.1 -p 6379 -a my_redis redis 127.0.0.1:6379> config get requirepass (error) ERR operation not permitted redis-cli -h 127.0.0.1 -p 6379 -a myRedis redis 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myRedis" 除了在登录时通过 -a 参数制定密码外,还可以登录时不指定密码,而在执行操作前进行认证。
redis-cli -h 127.0.0.1 -p 6379 redis 127.0.0.1:6379> config get requirepass (error) ERR operation not permitted redis 127.0.0.1:6379> auth myRedis OK redis 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myRedis" 3.master配置了密码,slave如何配置 若master配置了密码则slave也要配置相应的密码参数否则无法进行正常复制的。
lave中配置文件内找到如下行,移除注释,修改密码即可#masterauth mstpassword
Windows环境下redis 配置文件中设置的密码为什么无效
1、初始化Redis密码:在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数;比如 requirepass test123;(Ps:需重启Redis才能生效)redis的查询速度是非常快的,外部用户一秒内可以尝试多大150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);2、不重启Redis设置密码:在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
如何针对Redis设置密码
展开全部 1. 在redis.windows-service.conf设置requirepass字段的值(你的密码)。
2. 关掉redis 服务器,重启redis服务器,连接数据库。
3. 命令:auth yourPassword,就可以查询了,没有通过验证就不能查询。
我的是在windows环境下,Linux操作类似。
关于redis的学习,apeit-程序猿IT中的redis的文章由浅入深,很适合入门学习。
redis服务关闭和重启,参考apeit中的《redis的简介,安装,使用》...
redis 怎么取消认证密码设置
展开全部 1.比较安全的办法是采用绑定IP的方式来进行控制。
请在redis.conf文件找到如下配置 # If you want you can bind a single interface, if the bind option is not# specified all the interfaces will listen for incoming connections.## bind 127.0.0.1 把# bind 127.0.0.1前面的 注释#号去掉,然后把127.0.0.1改成你允许访问你的redis服务器的ip地址,表示只允许该ip进行访问 这种情况下,我们在启动redis服务器的时候不能再用:redis-server,改为:redis-server path/redis.conf 即在启动的时候指定需要加载的配置文件,其中path/是你上面修改的redis配置文件所在目录,这个方法有一点不太好,我难免有多台机器访问一个redis服务。
2.设置密码,以提供远程登陆 打开redis.conf配置文件,找到requirepass,然后修改如下: requirepass yourpasswordyourpassword就是redis验证密码,设置密码以后发现可以登陆,但是无法执行命令了。
命令如下: redis-cli -h yourIp -p yourPort//启动redis客户端,并连接服务器keys * //输出服务器中的所有key 报错如下(error) ERR operation not permitted 这时候你可以用授权命令进行授权,就不报错了 命令如下: auth youpassword 另外,在连接服务器的时候就可以指定登录密码,避免单独输入上面授权命令 命令如下: redis-cli -h yourIp-p yourPort -a youPassword 除了在配置文件redis.conf中配置验证密码以外,也可以在已经启动的redis服务器通过命令行设置密码,但这种方式是临时的,当服务器重启了密码必须重设。
命令行设置密码方式如下: config set requirepass yourPassword 有时候我们不知道当前redis服务器是否有设置验证密码,或者忘记了密码是什么,我们可以通过命令行输入命令查看密码,命令如下: config get requirepass 如果redis服务端没有配置密码,会得到nil,而如果配置了密码,但是redis客户端连接redis服务端时,没有用密码登录验证,会提示:operation not permitted,这时候可以用命令:auth yourpassword 进行验证密码,再执行 config set requirepass,就会显示yourpassword 由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。
(密码在 conf文件里是明文,所以不用担心自己会忘记)
win7版下Redis如何设置访问密码的详解
Redis 持久化和配置文件 Reids 持久化 Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。
RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。
AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。
其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。
如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。
redis配置文件 daemonize no # 默认情况下,redis并不是以daemon形式来运行的。
通过daemonize配置项可以控制redis的运行形式 pidfile /path/to/redis.pid #当以daemon形式运行时,redis会生成一个pid文件,默认会生成在/var/run/redis.pid bind 192.168.1.2 10.8.4.2 # 指定绑定的ip,可以有多个 port 6379 #指定监听端口 unixsocket /tmp/redis.sock #也可以监听socket unixsocketperm 755 #当监听socket时可以指定权限为755 timeout 0 #当一个redis-client一直没有请求发向server端,那么server端有权主动关闭这个连接,可以通过timeout来设置“空闲超时时限”,0表示永不关闭。
Redis通用配置 tcp-keepalive0 #TCP连接保活策略,可以通过tcp-keepalive配置项来进行设置,单位为秒,假如设置为60秒,则server端会每60秒向连接空闲的客户端发起一次ACK请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接。
如果设置为0,则不会进行保活检测。
loglevelnotice #日志级别,有四种debug, verbose, notice, warning logfile“” #定义日志路径, syslog-identredis #如果希望日志打印到syslog中,通过syslog-enabled来控制。
另外,syslog-ident还可以让你指定syslog里的日志标志。
syslog-facility local0 #指定syslog的设备,可以是USER或者local0-local7 databases 16 #设置数据库的总数量 Redis快照配置(rdb持久化) save 900 1 #表示每15分钟且至少有1个key改变,就触发一次持久化 save 300 10 #表示每5分钟且至少有10个key改变,就触发一次持久化 save 60 10000 #表示每60秒至少有10000个key改变,就触发一次持久 save “” #这样可以禁用rdb持久化 stop-writes-on-bgsave-error yes #rdb持久化写入磁盘避免不了会出现失败的情况,默认一旦出现失败,redis会马上停止写操作。
如果你觉得无所谓,那就可以使用该选项关闭这个功能。
rdbcompressionyes #是否要压缩 rdbchecksumyes #是否进行数据校验 dbfilenamedump.rdb #定义快照文件的名字 dir ./ #定义快照文件储存路劲 Redis安全相关配置 requirepassaminglinux#设置redis-server的密码 rename-command CONFIG aminglinux.config#将CONFIG命令更名为aminglinux.config,这样可以避免误操作,但如果使用了AOF持久化,建议不要启用该功能 rename-command CONFIG “”#也可以后面定义为空,这样就禁掉了该CONFIG命令 Redis限制相关配置 maxclients10000 #限制最大客户端连接数 maxmemory #设定最大内存使用数,单位是byte maxmemory-policy volatile-lru#指定内存移除规则 maxmemory-samples 3 #LRU算法和最小TTL算法都并非是精确的算法,而是估算值。
所以你可以设置样本的大小。
假如redis默认会检查三个key并选择其中LRU的那个,那么你可以改变这个key样本的数量。
Redis AOF持久化相关配置 appendonlyno #如果是no,则开启aof持久化 appendfilename“appendonly.aof” #指定aof文件名字 appendfsynceverysec#指定fsync()调用模式,有三种no(不调用fsync),always(每次写都会调用fsync),everysec(每秒钟调用一次fsync)。
第一种最快,第二种数据最安全,但性能会差一些,第三种为这种方案,默认为第三种。
no-appendfsync-on-rewrite no #使用no,可以避免当写入量非常大时的磁盘io阻塞 auto-aof-rewrite-percentage 10 #规定什么情况下会触发aof重写。
该值为一个比例,10表示当aof文件增幅达到10%时则会触发重写机制。
auto-aof-rewrite-min-size 64mb #重写会有一个条件,就是不能低于64Mb Redis 慢日志相关配置 针对慢日志,你可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢日志的长度。
当一个新的命令被写入日志时,最老的一条会从命令日志队列中被移除。
已经认证了的 为什么还报redis noauth authentication required
connect("127.0.0.1","6379");//第三部:配置连接密码 检测redis服务器连接状态 //连接失败直接结束 并输出 $auth = $redis->auth('zhenai') or die("redis 服务器连接失败");// var_dump($auth);连接成功 返回 true 反之 返回false//第四步 可用可不用echo $connect_status=$redis->ping();if($connect_status==="+PONG"){echo "redis 服务器连接成功";}//就是如此简单
转载请注明出处51数据库 » redis配置password