Linux环境下Elasticsearch设置访问用户和密码

本文详细指导如何在Elasticsearch单节点上设置用户名密码保护,并启用SSL安全连接,确保数据安全。步骤包括修改`elasticsearch.yml`配置,切换用户启动,配置密码,及验证配置效果。

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

前言:我们搭建了elasticsearch,在没有设置访问用户名和密码的情况下,任何人任何网络都是可以通过 ip+port 进行访问 elasticsearch,获取到对应的 elasticsearch 信息的。这样显然是有隐患的,因此根据需求给elasticsearch设置用户名和密码。

在 elasticsearch 环境搭建成功的基础上进行下面操作,如果要搭建 elasticsearch集群,可以移步:Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置

1. 修改 elasticsearch.yml 文件

由于我的 elasticsearch集群 安装在 /zdrl/elasticsearch/elasticsearch-cluster 目录下,所以后续操作在目录下进行。
本次操作仅对单节点进行配置用户和密码,暂不涉及集群。

以修改 node9201 节点的配置为例
在 /zdrl/elasticsearch/elasticsearch-cluster 目录下运行指令

vim elasticsearch9201/config/elasticsearch.yml

在这里插入图片描述

添加一下配置:

#xpack 插件的授权类型,basic是免费的,还有其他收费版本
xpack.license.self_generated.type: basic
#是否开启安全验证
xpack.security.enabled: true
#是否开启远程访问安全验证
xpack.security.transport.ssl.enabled: true

加上之前搭建es集群的配置,node-9201 节点完整的配置如下:

#集群名称
cluster.name: es-cluster
#节点名称
node.name: node-9201
#端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9301
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#ip地址
network.host: 0.0.0.0
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["172.16.86.142:9301"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-9201"]
#数据存储路径
path.data: /zdrl/elasticsearch/elasticsearch-cluster/data/data9201
#日志存储路径
path.logs: /zdrl/elasticsearch/elasticsearch-cluster/logs/logs9201
#配置开启跨域
http.cors.enabled: true
#配置允许任何域名访问
http.cors.allow-origin: "*"

#xpack 插件的授权类型,basic是免费的,还有其他收费版本
xpack.license.self_generated.type: basic
#是否开启安全验证
xpack.security.enabled: true
#是否开启远程访问安全验证
xpack.security.transport.ssl.enabled: true

在这里插入图片描述

2. 启动elasticsearch节点

记得要先切换为 非root 用户,看过我之前博客的朋友就会知道我当初为了启动 elasticsearch 创建的是 esuser 用户。
所以先切换成 esuser 用户,再启动 elasticsearch

注意:如果不小心还是用 root 去启动elasticsearch,那么程序一运行,就会在data和logs目录下生成对应的目录文件,那么如果此时你切换成 esuser 用户,启动elasticsearch,也会报错,错误的大致意思是 权限不足。
解决方法:删除掉 data 和 logs 目录下的所有文件,切换成esuser 用户,再启动 elasticsearch 即可。

su esuser
./elasticsearch9201/bin/elasticsearch -d
Tips:-d 表示后台运行elasticsearch进程

在这里插入图片描述

在 elasticsearch 运行起来之后,开始配置密码。
在 /zdrl/elasticsearch/elasticsearch-cluster 目录下
手动配置各种账号的访问密码:

./elasticsearch9201/bin/elasticsearch-setup-passwords interactive

Tips:密码长度最少要六位

在这里插入图片描述

3. 检验效果

浏览器访问 http://ip + port/9201
发现需要输入密码,这里输入 elastic 以及 自己设置的密码
在这里插入图片描述
输入正确即可查看到节点信息:
在这里插入图片描述

至此,elasticsearch配置用户名和密码结束。

在当今数字化时代,数据的安全性显得尤为重要。对于ElasticsearchKibana这两个强大的工具而言,合理的安全配置不仅可以保护数据免遭未授权访问,还可以确保业务的正常运行。为了帮助你掌握如何在Linux环境中为ElasticsearchKibana设置用户密码验证,以下是一份详细的步骤指南: 参考资源链接:[Elasticsearch与Kibana的安全配置:用户密码验证教程](https://wenku.youkuaiyun.com/doc/22t20o9yno?spm=1055.2569.3001.10343) 首先,确保你已经安装了ElasticsearchKibana的6.5.3版本,并且在安装过程中已经连接到了部署平台。接着,对Elasticsearch进行以下配置: 1. 修改Elasticsearch的配置文件`elasticsearch.yml`,启用X-Pack安全特性,并设置许可证类型为试用版: ``` xpack.security.enabled: true xpack.ml.enabled: true xpack.license.self_generated.type: trial ``` 2. 重启Elasticsearch服务以使配置生效: ``` docker restart es ``` 3. 为Elasticsearch设置用户密码。首先,确保X-Pack插件已安装,如果未安装,可以使用以下命令进行安装: ``` docker exec -it es /usr/share/elasticsearch/bin/elasticsearch-plugin install x-pack ``` 4. 使用以下命令启动交互式密码设置: ``` ./elasticsearch-setup-passwords-interactive ``` 在进行上述操作时,如果遇到403错误,表明X-Pack的安全功能尚未激活。这种情况下,你需要查阅官方文档进行X-Pack的激活过程。 对于Kibana,你需要在`kibana.yml`配置文件中设置相应的Elasticsearch访问认证信息,如下: ``` elasticsearch.username: 参考资源链接:[Elasticsearch与Kibana的安全配置:用户密码验证教程](https://wenku.youkuaiyun.com/doc/22t20o9yno?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值