Elasticsearch-认证xpack开启
1.介绍
可以使用企业CA证书来完成这一步骤,但是一般情况下,我们可以通过elasticsearch自带的elasticsearch-certutil的命令生成证书。然后各节点通过该证书可以进行安全通信。
为节点创建证书
TLS:TLS协议要求Trusted Certificate Authority(CA)签发的X.509的证书
证书认证的不同级别
Certificate:节点加入集群需要使用想用CA签发的证书
Full Verfication:节点加入集群需要使用想用CA签发的证书,还需要验证Hostname或IP地址
No Verfication:任何节点都可以加入,开发环境用于诊断目的
先签发CA证书,然后基于这个CA证书,签发每一个节点的证书
2.步骤
2.0直接开启试用版30天
curl -H "Content-Type:application/json" -XPOST http://127.0.0.1:9200/_xpack/license/start_trial?acknowledge=true。
2.1生成证书
搭建好了es集群,先拿第一个节点来操作,进入elasticsearch目录,然后执行以下命令
# 生成CA证书
./bin/elasticsearch-certutil ca (CA证书:elastic-stack-ca.p12)
设置默认名称:elastic-stack-ca.p12
设置密码:123456(个人习惯)
# 生成节点证书
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 (节点证书:elastic-certificates.p12)
设置默认名称:elastic-certificates.p12
设置密码:123456(个人习惯)
`# ./bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass`# 生成证书到配置文件目录 (这一步暂不操作)
上面命令执行成功后,会在`/etc/elasticsearch/`文件夹下生成elastic-certificates.p12证书
注意:在本机生成的证书需要更改证书权限:`chmod 644 elastic-certificates.p12` (若是使用运行es程序的用户创建证书,则不用更改证书权限)
默认证书权限是600,运行elasticsearch程序的用户没有权限读取,会造成elasticsearch启动失败
将生成的2个文件都移动到config文件夹中
2.2编辑配置文件,开启证书访问
编辑配置文件/etc/elasticsearch/elasticsearch.yml,取消掉下面几行的注释(注意证书路径)
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate # 证书认证级别
xpack.security.transport.ssl.keystore.path: ${path}/elastic-certificates.p12 --填写证书路径
xpack.security.transport.ssl.truststore.path: ${path}/elastic-certificates.p12 --填写证书路径
将上面步骤生成的elastic-certificates.p12证书复制到另外两个es节点上对应的/etc/elasticsearch/文件夹中,同时将上面
xpack.security.*配置选项也都复制到对应节点的elasticsearch.yml文件里
2.3设置elasticsearch各个组件默认密码
启动三个节点,待节点启动完毕之后,进入第一个节点elasticsearch目录,执行以下命令,进行密码设置:
cd /usr/share/elasticsearch
./bin/elasticsearch-setup-passwords interactive
# 输出结果
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y # 输入y
# 直接输入密码,然后再重复一遍密码,中括号里是账号
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
为了方便后续使用,这里可以都设置成一样:123456
开启集群,访问/_cat,出现需要认证信息,说明xpack开启成功
查看许可证:curl -u elastic:123456 -XGET 127.0.0.1:9200/_license
修改密码
curl -XPUT --user elastic:容器设置的密码 'http://127.0.0.1:9201/_xpack/security/user/elastic/_password' -H "Content-Type:application/json" -d '{ "password" : "111111" }'
上一篇: 使用Animate.css快速构建动画。
下一篇: Tomcat:安装Tomcat
推荐阅读
-
Elasticsearch-认证xpack开启
-
mongodb3.03开启认证-mongoVUE1.6.9登录解决 博客分类: mongodb
-
mongodb开启用户身份认证的集群部署
-
mongodb用户认证 博客分类: mongodb 下载的mongodb3.2.1版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下:
-
mongodb用户认证 博客分类: mongodb 下载的mongodb3.2.1版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下:
-
Win10 21H2正式版完成质量认证:将于月底前开启推送
-
Docker开启TLS和CA认证的方法步骤
-
MongoDB4.28开启权限认证配置用户密码登录功能
-
Spring Cloud中Eureka开启密码认证的实例
-
Spring Cloud中Eureka开启密码认证的实例