一、生成证书:
输入./bin/elasticsearch-certutil ca Elasticsearch开启安全认证详细步骤
碰到第一个直接回车,不用管
碰到第二个输入密码,例如123456
完成后会生成一个文件:elastic-stack-ca.p12
二、生成秘钥
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
1中间需要输入刚才设置的密码就直接输入就可以了,需要输入路径的地方不要输入地址,就直接回车,之后会生成一个文件:elastic-certificates.p12文件
三、将凭证迁移到指定目录
先创建目录
mkdir ./config/certificates
移动凭证至指定目录下
mv ./elastic-certificates.p12 ../config/certificates/
赋值权限,不然会出问题
chmod 777 ./config/certificates/elastic-certificates.p12
chown -R es:es ./config/certificates
chown -R es:es ./config/elasticsearch.keystore
四、凭证移动至每一台集群下面
此处省略各种scp,就是把elastic-certificates.p12这个文件移动到每一个es安装目录的相同路径下
五、修改配置文件(每一台es都需要添加)
vim ./config/elasticsearch.yml
输入如下的配置
跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length
xpack.security.enabled: true
xpack.security.authc.accept_default_password: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: 【es的安装路径】/config/certificates/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: 【es的安装路径】/config/certificates/elastic-certificates.p12
六、在各个节点上添加密码(每一台es都需要操作)
./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
1输入密码:第一步中设置的密码,例如本样例中的123456
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
1输入密码:第一步中设置的密码,例如本样例中的123456
七、逐个启动节点
./bin/elasticsearch -d
八、设置密码
./bin/elasticsearch-setup-passwords interactive
下面会要输入很多密码,都要自己能记住,以后要用
需要设置 elastic,apm_system,kibana,kibana_system,logstash_system,beats_system
九、访问
访问es
账户:elastic
密码:123456
十、kibana配置
kibana组件访问带有安全认证的es集群,配置文件kibana.yml中需要加入以下配置:
elasticsearch.username: "kibana" 注意:此处不用超级账号elastic,而是用kibana跟es连接的账号kibana
elasticsearch.password: "123456"
然后重启kibana,再次访问就能输入账号密码才能登录访问了。
#具体kibana配置
vim kibana.yml
server.host: "10.0.0.31" #此处建议使用内网ip或者0.0.0.0
#elasticsearch.hosts: ["10.0.0.31:9200","10.0.0.32:9200","10.0.0.33:9200"]
elasticsearch.url: "http://10.0.0.31:9200"
kibana.index: ".kibana"
elasticsearch.username: "kibana"
elasticsearch.password: "123456"
i18n.locale: "zh-CN"