1、生成證書和秘鑰
/usr/share/elasticsearch/bin/elasticsearch-certutil ca
/usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
在生成證書的過程中,都直接按回車,不需輸入密碼。
2、複制證書和秘鑰到所有節點的配置目錄下
cp elastic-certificates.p12 elastic-stack-ca.p12 /etc/elasticsearch/
scp elastic-* root@es2:/etc/elasticsearch/
設定秘鑰的權限和屬性
#chmod 777 elastic-*
#chown elasticsearch:elasticsearch elastic-*
3、修改ealsticsearch每個節點的配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
修改完後,需要重新開機服務
#systemctl restart elasticsearch
4、設定使用者名和密碼
#/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
在部署過程中,遇到以下問題
主要原因是由于隻在一個節點上操作,而在操作時叢集還沒恢複,當叢集的節點都運作時,再執行設定密碼的指令後,就成功了。
還有一個問題是,如果需要重新設定密碼,可以删除.security-7索引即可。
[root@elk1 elasticsearch]# curl -XDELETE 127.0.0.1:9200/.security-7 -u elastic:123456
看到{"acknowledged":true},表示删除成功
5、通路驗證
6、部署問題
如果隻是配置如下第一項,而沒有配置後面四個SSL相關的配置,則會出現如下無法啟動服務的報錯。
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
在後面文章中,還會介紹跟kibana結合,配置登入的web頁面。
kibana配置修改
由于elasticsearch已經配置為需要密碼通路,是以kibana的配置中需要寫入賬号資訊
#vi /etc/kibana/kibana.yml
elasticsearch.username: "kibana_system"
elasticsearch.password: "********"