ElasticSearch7.14设置内置用户,使用用户名密码访问

ElasticSearch7.14设置内置用户,使用用户名密码访问

前提:已安装elasticsearch,并可使用http:ip:9200访问

参考:Centos7安装elasticsearch7.14.0

一、设置内置用户步骤:

1、开启x-pack验证重启 elasticsearch服务

  1. 修改config目录下面的elasticsearch.yml文件添加如下代码到文件末,开启x-pack验证
  2. 重启 elasticsearch服务

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

参数说明:
xpack.security.enabled:表示开启xpack认证机制。
xpack.security.transport.ssl.enabled:这条如果不配,es将起不来,会报如下错误:
Transport SSL must be enabled if security is enabled on a [basic] license. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]
 

2、设置用户名和密码的命令

这里需要为4个用户分别设置密码,elastic, kibana, logstash_system,beats_system。(interactive 手动设置, auto 自动生成密码 )

bin/elasticsearch-setup-passwords interactive

下面的方式是自动生成密码 , 自动生成相对安全

bin/elasticsearch-setup-passwords auto

其他修改密码命令如下:

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "xxxx" }'

3、访问elasticsearch使用用户名密码访问

3.1、可通过命令行访问:

例子1:curl -XGET -u elastic 'localhost:9200/_xpack/security/user?pretty'

例子2:curl 127.0.0.1:9200 -u elastic

3.2、可通过浏览器访问

4、Kibana访问

Kibana连接时kibana.yml配置文件增加

elasticsearch.username: "elastic"

elasticsearch.password: "xxxx"

 Kibana访问需要输入账号密码

二、遇到问题(如果不配置下面也可继续使用)

1、配置xpack.security.transport.ssl.enabled: true 后会出现以下错误

[2023-02-07T22:11:31,657][WARN ][o.e.t.TcpTransport       ] [node-1] exception caught on transport layer [Netty4TcpChannel{localAddress=0.0.0.0/0.0.0.0:9300, remoteAddress=/0:0:0:0:0:0:0:1:60820, profile=default}], closing connection
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: no cipher suites in common

[ELASITCSEARCH 开启认证后,报DECODEREXCEPTION: JAVAX.NET.SSL.SSLHANDSHAKEEXCEPTION: NO AVAILABLE AUTHENTIC异常]

解决办法:

解决方法主要参考了

Encrypting communications in Elasticsearch | Elasticsearch Guide [6.3] | Elastic

总体意思是TCP通信,使用ssl加密通信。

第一步:在ES的根目录生成CA证书

bin/elasticsearch-certutil ca

中间需要设置密码,直接回车可以不设置(慎重考虑)。

第二步:使用第一步生成的证书,产生p12**

bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

3、在config目录创建certs目录,拷贝p12文件至certs目录

4、配置:elasticsearch.yml

xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

5、重启ES

其他参考:

 参考:https://blog.csdn.net/weixin_45367149/article/details/108388846

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁宁可可

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值