Mongodb副本集安全认证

通过主节点添加一个管理员帐号

只需要在主节点上添加用户,副本集会自动同步。
开启认证之前,创建超管用户:myroot,密码:123456

myrs:PRIMARY> use admin
switched to db admin
myrs:PRIMARY> db.createUser({user:"myroot",pwd:"123456",roles:["root"]})
Successfully added user: { "user" : "myroot", "roles" : [ "root" ] }
myrs:PRIMARY> db.auth("myroot","123456") 

创建副本集认证的key文件

[root@bobohost ~]# openssl rand -base64 90 -out /var/lib/mongo/mongo.keyfile
[root@bobohost ~]# chmod 400 /var/lib/mongo/mongo.keyfile
[root@bobohost ~]# ll /var/lib/mongo/mongo.keyfile
-r--------. 1 root root 122 8月  14 14:23 mongo.keyfile

提示:
所有副本集节点都必须要用同一份keyfile,一般是在一台机器上生成,然后拷贝到其他机器上,且必须有读的权限,否则将来会报错: permissions on /mongodb/replica_sets/myrs_27017/mongo.keyfile are too open
一定要保证密钥文件一致,文件位置随便。但是为了方便查找,建议每台机器都放到一个固定的位置,都放到和配置文件一起的目录中。
这里将该文件分别拷贝到多个节点中

scp /var/lib/mongo/mongo.keyfile  192.168.1.101:/var/lib/mongo

修改配置文件指定keyfile

将下面配置添加每个节点到配置文件中
keyFile =/var/lib/mongo/mongo.keyfile
auth=true

分别重启启动各个节点

连接测试

mongo --host 192.168.1.103 -u "myroot" --authenticationDatabase "admin" -p'123456'

 

posted @ 2020-08-03 21:23  fat_girl_spring  阅读(818)  评论(0编辑  收藏  举报