mongodb 分片集群和redis设置加密
设置Mongodb密码
- 首先登录三台mongodb服务器备份config配置文件
- 然后登录Mongos 3000端口 和Shrad分片主节点设置Mongodb管理员用户名和密码
./mongo 192.168.127.3/admin #使用admin库进行登录
db.createUser({
user:"admin",
pwd:"Admin@123",
roles: [ { role: "root",db:"admin"}]
})
db.auth("admin","Admin@123")//认证该用户
- 然后生成一个添加keyFile文件用于认证使用,赋予600权限,远程拷贝到三台集群上面的config下面即可
openssl rand -base64 751 > ./keyFile.key
chmod 600 ./keyFile.key #权限必须是600
scp ./keyFile.key #到对应的在分片和Configserver的config配置文件路径下
- 在修改增加Shard和Configserver配置文件增加相关认证参数,添加到配置文件最后即可。
#开启权限验证
auth=true
keyFile=/home/mongodb/config/keyFile.key
- 然后在三台Mongos文件中增加如下操作
#指向keyFile
keyFile=/usr/local/mongodb/key/keyFile.key
- 然后重启全部mongodb服务,并验证登录是否正常
$ ./mongo 192.168.127.3:30000 -uadmin -pAdmin@123 --authenticationDatabase admin
MongoDB shell version: 3.2.12
connecting to: 192.168.127.3:30000/test
Server has startup warnings:
2022-09-16T23:43:38.292+0800 I CONTROL [main]
2022-09-16T23:43:38.292+0800 I CONTROL [main] ** WARNING: The server is started with the web server interface and access control.
2022-09-16T23:43:38.292+0800 I CONTROL [main] ** The web interfaces (rest, httpinterface and/or jsonp) are insecure
2022-09-16T23:43:38.292+0800 I CONTROL [main] ** and should be disabled unless required for backward compatibility.
2022-09-16T23:43:38.292+0800 I CONTROL [main]
mongos> show dbs
admin 0.000GB
config 0.033GB
设置redis密码
-
首先登录redis服务器备份redis.conf和sentinel.conf配置文件
-
在分别6379、6380、6381的redis.conf最后增加如下参数
masterauth Redis@passwd123 #在slava节点上面添加此配置项
- requirepass Redis@passwd123 #Master/Salve节点上添加此配置项,如主节点发生切换时,对应也要添加上该配置项
-
在分别哨兵的sentinel.conf最后增加如下参数
sentinel auth-pass server-1M Redis@passwd123 #server-1M 为服务名称
-
重新启动redis、sentinel服务
./start.sh -r redis sentinel
-
验证是否可以登录
- ./redis-cli -h 1921.68.127.3 -p6379 -a Redis@passwd123 info
评论区