ES添加用户名和密码

原文
注:Elasticsearch示例版本:7.6.2

一、单机版

1. 修改配置

需要在配置文件中开启x-pack验证, 修改config目录下面的elasticsearch.yml文件,在里面添加如下内容,并重启es.

xpack.security.enabled: true
#xpack.license.self_generated.type: basic
#xpack.security.transport.ssl.enabled: true

2. 设置密码

进入es的安装根目录bin下,/usr/local/elasticsearch-7.6.2/bin
执行设置用户名和密码的命令,这里需要为4个用户分别设置密码,elastic, kibana, logstash_system,beats_system

注意:下面添加密码的时候只能手动输入,复制粘贴后面登录的时候会一直登录不上

./elasticsearch-setup-passwords interactive
Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [elastic]

3. 测试

将kibana.yml添加,并重启kibana:

elasticsearch.username: "elastic"
elasticsearch.password: "xxxx"

4. 修改密码

修改密码时,将第一步配置删除,然后重启es,将.security-7的索引删除即可。
然后重新1-4步骤。

二、集群版

1. 生成 TLS 和身份验证

单独使用一个节点生成证书;
证书会生成在config目录下,证书文件名为 elastic-certificates.p12;

su esuser
cd /usr/local/elasticsearch-7.6.2/bin
./elasticsearch-certutil cert -out /usr/local/elasticsearch-7.6.2/config/elastic-certificates.p12 -pass ""

执行完上面命令以后就可以在elasticsearch目录下的config目录里看到多了一个elastic-certificates.p12文件;
把elastic-certificates.p12这个文件复制到其他节点下,也是elasticsearch目录下的config目录里即可;

2. 修改配置

编辑elasticsearch.yml文件(每个节点都要配置)开启x-pack功能,并指定证书位置

#加密配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

3. 重启es集群

全部节点都要重启一遍

4. 设置访问密码

在其中一个节点设置密码即可,设置完之后,数据会自动同步到其他节点。
cd到elasticsearch目录下的bin目录执行

su esuser
cd /usr/local/elasticsearch-7.6.2/bin
./elasticsearch-setup-passwords interactive

依次对每个账户设置密码

Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [elastic]

5. 测试验证

将kibana.yml添加,并重启kibana:

elasticsearch.username: "elastic"
elasticsearch.password: "xxxx"
Elasticsearch 7.x版本中,设置用户名密码是为了进行安全访问控制。以下是基本步骤: 1. **修改elasticsearch.yml文件**: 打开`config/elasticsearch.yml`(Windows用户可能需要在安装目录下找到),找到`xpack.security.enabled: true`这一行,确保X-Pack插件已经启用。然后添加或编辑如下部分: ```yaml xpack.security.authc.accept_if_username_in_path: false xpack.security.http.ssl.enabled: true # 如果使用HTTPS xpack.security.transport.ssl.enabled: true # 如果有内部集群通信 cluster.name: your_cluster_name node.name: unique_node_identifier http.cors.enabled: true http.cors.allow-origin: "*" http.cors.support.credentials: true http.username: your_username http.password: your_password ``` 2. **创建用户**: 使用curl命令或者通过Kibana界面(如果已安装)创建用户。例如,创建一个名为`admin`的管理员用户: ```bash curl -XPOST "localhost:9200/_xpack/security/user/admin" -H 'Content-Type: application/json' -d' { "password": "your_password", "username": "admin", "roles": ["cluster_admin"] }' ``` 或者在Kibana UI的Security -> Users界面添加。 3. **配置HTTP基本认证**: 在启动Elasticsearch时,它会自动监听http端口(默认9200),并等待基本认证。你可以通过`ELASTICSEARCH_HTTP_AUTH`环境变量传递认证信息,但推荐的方式是在`elasticsearch.yml`中直接设置如上所示。 4. **重启服务**: 修改配置后,记得重启Elasticsearch服务(`bin/elasticsearch restart`)以便新的设置生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值