elasticsearch 7.x配置集群密码认证模式

本文详细介绍如何在Elasticsearch中生成SSL证书,包括使用elasticsearch-certutil工具生成CA及节点证书,修改elasticsearch.yml配置文件启用安全传输,并设置密码策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 生成证书

在elasticsearch目录下执行,会在目录elasticsearch的文件目录生成elastic-stack-ca.p12文件,比如我这里是/home/elasticsearch

./elasticsearch-certutil ca

Please enter the desired output file [elastic-stack-ca.p12]: elastic-stack-ca.p12
Enter password for elastic-stack-ca.p12 :

生成 elastic-stack-ca.p12后,执行命令elasticsearch-certutil,需要注意的是elastic-stack-ca.p12文件必须是完整路径

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

Enter password for CA (/home/elasticsearch/elastic-stack-ca.p12) : 
Please enter the desired output file [elastic-certificates.p12]: elastic-certificates.p12
Enter password for elastic-certificates.p12 :   #这里可以不用输入密码,直接按回车键

Certificates written to /home/elasticsearch/elastic-certificates.p12

生成的elastic-certificates.p12文件拷贝到每个节点的config目录下

二 修改配置elasticsearch.yml

elasticsearch.yml配置文件中增加下列配置

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

三 配置密码

在bin目录下输入下列命令

./elasticsearch-setup-passwords interactive

 

Enter password for [elastic]: Reenter password for [elastic]: Enter password for [apm_system]: Reenter password for [apm_system]: 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]: Enter password for [remote_monitoring_user]: Reenter password for [remote_monitoring_user]: Changed password for user [apm_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]

 

### 配置 Elasticsearch 密码 在 Linux 环境下为 Elasticsearch 设置和配置密码的过程涉及多个步骤,主要包括启用 Elastic Stack 的安全特性以及通过内置工具创建用户和密码。 #### 启用 Elastic Stack 安全功能 为了实现基于用户名和密码的身份验证,需确保启用了 Elastic Stack 的安全功能。这可以通过修改 `elasticsearch.yml` 文件完成: ```yaml xpack.security.enabled: true ``` 此设置会在 Elasticsearch 中激活 X-Pack 安全插件的功能[^2]。 #### 创建内置用户的密码 Elasticsearch 提供了一个脚本用于初始化内置用户的密码。执行以下命令可以为这些用户生成随机密码并将其存储在一个文件中: ```bash sudo bin/elasticsearch-setup-passwords auto -b ``` 上述命令会自动为所有内置角色(如 `elastic`, `kibana_system`, 和其他预定义的角色)分配强密码,并将它们打印到控制台或保存至指定路径[^4]。 如果希望手动输入密码,则可运行交互模式版本的相同命令: ```bash sudo bin/elasticsearch-setup-passwords interactive -b ``` 此时系统会提示逐个设定各个重要账户的新密码。 #### 修改 Java 虚拟机选项 (可选) 当调整 JVM 参数时,请注意内存分配和其他性能调优参数可能影响整个集群的表现。例如,在某些情况下需要增加堆大小或者优化垃圾回收策略以支持更高的负载条件: ```bash export ES_JAVA_OPTS="-Xms2g -Xmx2g" ``` 这里 `-Xms2g` 表示初始 heap size,而 `-Xmx2g` 则代表最大 heap size 均设定了 2GB 大小作为例子展示. #### 测试连接与认证 一旦设置了新密码之后尝试访问 API 接口应当提供相应的凭证信息来进行身份确认操作。比如利用 curl 工具加上基本授权头来获取节点健康状态报告如下所示: ```bash curl --user elastic:<your_password> http://localhost:9200/_cluster/health?pretty=true ``` 其中 `<your_password>` 替换为你之前所设立的那个实际值。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值