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

前言:我们搭建了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

Linux环境下Elasticsearch设置访问用户和密码_第1张图片

添加一下配置:

#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

Linux环境下Elasticsearch设置访问用户和密码_第2张图片

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进程

Linux环境下Elasticsearch设置访问用户和密码_第3张图片

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

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

Tips:密码长度最少要六位

Linux环境下Elasticsearch设置访问用户和密码_第4张图片

3. 检验效果

浏览器访问 http://ip + port/9201
发现需要输入密码,这里输入 elastic 以及 自己设置的密码
Linux环境下Elasticsearch设置访问用户和密码_第5张图片
输入正确即可查看到节点信息:
Linux环境下Elasticsearch设置访问用户和密码_第6张图片

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

你可能感兴趣的:(Elasticsearch,elasticsearch)