以下操作先在一台机器操作:
首先需要制作一个证书,我在这里假设,你并没有预先获得一个CA,需要先生成一个:
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
这样,在ES的根目录下会产生一个证书文件,默认名称是elastic-stack-ca.p12
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
默认情况下,会产生一个PKCS#12格式的文件:elastic-certificates.p12
Chown elastic:elastic elastic-certificates.p12(如果不授权,在启动的时候可能会报错,elastic用户使用elastic-certificates.p12的时候会没有权限)
vi conf/elasticsearch.yaml
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /usr/local/es/config/elastic-certificates.p12(这文件的路径,推荐绝对路径)
xpack.security.transport.ssl.truststore.path: /usr/local/es/config/elastic-certificates.p12(这文件的路径,推荐绝对路径)
提示:
其中verification_mode会有3种模式:
certificate: 需要使用同样的证书才能加入集群
full: 除了验证证书以外,还需要检测hostname和ip
none: 不需要验证证书即可加入集群,一般在调试情况下使用。
[链接:http://events.jianshu.io/p/d021661c9b6a]
此上操作完成后,因为上面启用的是certificate 模式,所以将elastic-certificates.p12证书cp到另外2台服务器。
集群中所有的节点都需要修改密码
自己设置密码(推荐)
./elasticsearch-setup-passwords interactive
123456(我是所有用户全部都是一个密码)
Changed password for user [apm_system]
Changed password for user [kibana_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]
命令自动生成默认用户和密码
bin/elasticsearch-setup-passwords auto
打开浏览器,输入我们的elasticsearch的网址,然后会弹出一个输入框,让我们输入账号和密码。
如果你觉得之前用户的密码设置的太简单了,你想修改密码可以采用如下方式:
curl -XPOST -u elastic “localhost:9200/_security/user/elastic/_password” -H ‘Content-Type: application/json’ -d’{“password” : “abcd1234”}’
【链接:https://www.cnblogs.com/wangwenlong8/p/16182152.html】