文章目录
Elasticsearch安装不会默认开启用户名密码验证,直接访问http://127.0.0.1:9200会显示elasticsearch信息,很明显,这样是不安全的;那如何开启简单的用户名密码验证呢?
Elasticsearch示例版本:7.12.3
第一步、在 elasticsearch.yml 中添加如下配置
# 配置X-Pack
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
第二步、重启elasticsearch服务
systemctl restart elasticsearch
第三步、设置elasticsearch密码
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
因为需要设置 elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user 这些用户的密码,故这个过程比较漫长,耐心设置;
第四步、验证
浏览器直接访问http://127.0.0.1:9200,会出现输入用户名、密码的弹窗,输入elastic和密码后,才能看到elasticsearch信息;
*修改密码
下面的示例为将elastic的密码设置为"123456"
curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'