docker安装的es配置密码认证

docker安装的es配置密码认证

前言

​ 今天客户提出来,说es的端口是暴露出来的,可以直接取出来数据,按照要求,必须对9200进行密码配置。准备好几种方案,nginx的反向代理加上认证配置(但是是一个单体的服务,只在一台机器,所以没办法采用)。防火墙的配置(但是因为客户服务器的防火墙是关闭的,不能轻易打开防火墙)等

测试环境安装es

采用docker-compose安装
version: "3"
services:es-master:container_name: es-masterimage: elasticsearch:7.9.3hostname: es-masterrestart: alwaysuser: rootports:- 9200:9200- 9300:9300volumes:- ./elasticsearch/master/config:/usr/share/elasticsearch/config- ./elasticsearch/master/data:/usr/share/elasticsearch/data- ./elasticsearch/master/logs:/usr/share/elasticsearch/logsenvironment:- "ES_JAVA_OPTS=-Xms512m -Xmx512m"- "TZ=Asia/Shanghai"

启动后会报错,因此先不要挂载目录,先运行起来将容器的目录先copy出来

docker run -itd --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.3
docker cp es:/usr/share/elasticsearch/config   /root/retec/elasticsearch/master/
Successfully copied 18.9kB to /root/retec/elasticsearch/master/
设置虚拟缓存
#修改文件
sudo vim /etc/sysctl.conf#添加参数
...
vm.max_map_count = 262144

加载配置

sysctl -p
添加权限
chmod -R 777 ./elasticsearch/
配置文件
cluster.name: es-cluster
# 节点名称
node.name: es-master
# 是否可以成为master节点
node.master: true
# 是否允许该节点存储数据,默认开启
node.data: true
# 网络绑定
network.host: 0.0.0.0
# 设置对外服务的http端口
http.port: 9200
# 设置节点间交互的tcp端口
transport.port: 9300
# 集群发现
discovery.seed_hosts:- es-master
# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
cluster.initial_master_nodes:- es-master
# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 安全认证
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
删除测试容器启动docker-compose
[root@bogon ~]# docker rm -f es
es
[root@bogon ~]# cd retec/
[root@bogon xxx]# ls
docker-compose.yml  elasticsearch
[root@bogon xxx]# docker-compose up -d

配置认证

  • 进入容器

    [root@bogon ~]# docker exec -it es-master bash
    [root@es-master elasticsearch]# 
    
  • 生成证书1

    [root@es-master elasticsearch]# ./bin/elasticsearch-certutil ca       一直回车
  • 生成证书2

    [root@es-master elasticsearch]# ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    

    一直回车即可

  • 将证书移动到config

    [root@es-master elasticsearch]# mv elastic-certificates.p12 ./config
    
    [root@es-master elasticsearch]# mv elastic-certificates.p12 ./config
    [root@es-master elasticsearch]# ll config/
    total 32
    -rw------- 1 root root 3451 May 11 11:39 elastic-certificates.p12
    -rwxrwxrwx 1 root root  199 May 11 11:23 elasticsearch.keystore
    -rwxrwxrwx 1 root root  537 May 11 11:35 elasticsearch.yml
    -rwxrwxrwx 1 root root 2301 Oct 16  2020 jvm.options
    drwxrwxrwx 2 root root    6 Oct 16  2020 jvm.options.d
    -rwxrwxrwx 1 root root 7734 Oct 16  2020 log4j2.properties
    -rwxrwxrwx 1 root root  473 Oct 16  2020 role_mapping.yml
    -rwxrwxrwx 1 root root  197 Oct 16  2020 roles.yml
    -rwxrwxrwx 1 root root    0 Oct 16  2020 users
    -rwxrwxrwx 1 root root    0 Oct 16  2020 users_roles
    [root@es-master elasticsearch]# 
  • 生成密码

    [root@es-master elasticsearch]# ./bin/elasticsearch-setup-passwords auto
    Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
    The passwords will be randomly generated and printed to the console.
    Please confirm that you would like to continue [y/N]yChanged password for user apm_system
    PASSWORD apm_system = vIB9alCzx09vLZY1jnrZChanged password for user kibana_system
    PASSWORD kibana_system = 7Kr2v8XV180M2IJf79icChanged password for user kibana
    PASSWORD kibana = 7Kr2v8XV180M2IJf79icChanged password for user logstash_system
    PASSWORD logstash_system = GMKQlmsRSkp0nWkjDlqiChanged password for user beats_system
    PASSWORD beats_system = oi5YAtZAesAeuZ3ThxTiChanged password for user remote_monitoring_user
    PASSWORD remote_monitoring_user = jZZqmOkFLvXDnOzAs53pChanged password for user elastic
    PASSWORD elastic = n7U0AvcGdfg8QsUXzeOx
    

    一路回车,回车完后会打印生成的密码 打印出来6个用户和密码

  • 退出容器,增加配置并保存

    cluster.name: es-cluster
    # 节点名称
    node.name: es-master
    # 是否可以成为master节点
    node.master: true
    # 是否允许该节点存储数据,默认开启
    node.data: true
    # 网络绑定
    network.host: 0.0.0.0
    # 设置对外服务的http端口
    http.port: 9200
    # 设置节点间交互的tcp端口
    transport.port: 9300
    # 集群发现
    discovery.seed_hosts:- es-master
    # 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
    cluster.initial_master_nodes:- es-master
    # 支持跨域访问
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    # 安全认证
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.keystore.type: PKCS12
    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
    xpack.security.transport.ssl.truststore.type: PKCS12
    xpack.security.audit.enabled: true
    
  • 增加文件可访问权限

    chmod -R 777 ./elasticsearch/
    
  • 重启镜像

    docker restart es-master
    

修改密码的规则

curl -u elastic:your_password -X POST http://localhost:9200/_security/user/elastic/_password -H 'Content-Type: application/json' -d '{"password" : "new_password"}'

elastic:your_password 现有的用户名和现在的密码

将其中的new_password替换为你想要设置的新密码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/10608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android WebSocket 使用指南:详细步骤与实践

WebSocket 是一种在单个长连接上进行全双工通信的协议。相比于传统的HTTP请求,WebSocket 可以减少通信的延迟,适用于需要实时数据传输的场景,如聊天应用、游戏和实时数据更新服务。在Android开发中,WebSocket的使用可以借助OkHttp…

力扣经典150题第五十九题: 随机链表的复制

目录 1. 题目分析2. 解题思路3. Java代码实现4. 测试示例5. 总结 标题:使用Java实现随机链表的深拷贝 随机链表的深拷贝是一道经典的链表问题,需要在复制链表的同时处理随机指针。在本文中,我们将使用Java来解决LeetCode上的第五十九题&#…

iphone进入恢复模式怎么退出?分享2种退出办法!

iPhone手机莫名其妙的进入到了恢复模式,或者是某些原因需要手机进入恢复模式,但是之后我们不知道如何退出恢复模式怎么办? 通常iPhone进入恢复模式的常见原因主要是软件问题、系统升级失败、误操作问题等导致。那iphone进入恢复模式怎么退出&…

异常检测的学习和实战

1.应用: 1.在工业上的应用 当检测设备是否处于异常工作状态时,可以由上图分析得到:那些零散的点对应的数据是异常数据。因为设备大多数时候都是处于正常工作状态的,所以数据点应该比较密集地集中在一个范围内,而那些明…

【数据结构练习题】Map与Set——1.只出过一次的数字2.复制带随机指针的链表3.宝石与石头4.坏键盘打字

♥♥♥♥♥个人主页♥♥♥♥♥ ♥♥♥♥♥数据结构练习题总结专栏♥♥♥♥♥ ♥♥♥♥♥【数据结构练习题】堆——top-k问题♥♥♥♥♥ 文章目录 1.只出过一次的数字1.1问题描述1.2思路分析1.3绘图分析1.4代码实现2.复制带随机指针的链表2.1问题描述2.2思路分析2.3绘图分析2.4代…

远程点击没反应

目录 todesk远程登录后点击没反应 解决方法: 方法1 快捷键: 方法2 界面点击Ctrl Alt Delete todesk,向日葵远程登录后点击没反应 todesk远程登录后点击没反应 解决方法: 方法1 快捷键: Ctrl Alt Delete 方法…

c语言之打开一个文件

c语言要打开一个文件,需要用的方法是fopen fopen(文件名,操作模式) 其中文件名一般为要带上绝对路径,如果程序文件与文件是一个目录下,就可以只写文件名和后缀就可以了。 一般会定义一个fFILE类型指针变量来指向被打开的文件&a…

《解锁数字化劳动合同签约:构建高效的电子合同签约平台》

随着数字化转型的推进,传统的纸质劳动合同签约方式已经无法满足现代企业对于效率和便捷性的需求。电子劳动合同签约平台应运而生,为企业和员工提供了一种更加高效、便捷的合同签署方式。本文将介绍电子劳动合同签约平台的业务架构,探讨其如何…

一次遍历,LeetCode 2391. 收集垃圾的最少总时间

一、题目 1、题目描述 给你一个下标从 0 开始的字符串数组 garbage ,其中 garbage[i] 表示第 i 个房子的垃圾集合。garbage[i] 只包含字符 M ,P 和 G ,但可能包含多个相同字符,每个字符分别表示一单位的金属、纸和玻璃。垃圾车收…

ORA-28575: unable to open RPC connection to external procedure agent

环境: Oracle 11.2.0.4x64 RAC AIX6.1版本SDE for aix oracle11g版本10.0 x64 sde配置情况如下: 检查oracle和grid用户下的$ORACLE_HOME/hs/admin/extproc.ora文件均包含有如下: SET EXTPROC_DLLSANY 两个节点sde下的user_libraries都正常…

如何利用ChatGPT辅助下处理:ENVI、GEE、Python等遥感数据

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力。本课程重点介绍ChatGPT在遥感中的应用,人工智…

SLAM技术详解及Python实现

引言 SLAM(Simultaneous Localization and Mapping,同时定位与建图)是近年来备受关注的一项技术,广泛应用于机器人、自动驾驶、增强现实等领域。SLAM旨在解决机器人在未知环境中同时进行定位和建图的问题,为实现智能导…

CentOS 8.5 安装配置 squid 6.9 代理服务器 Windows10 系统设置http代理 详细教程

1 下载地址: 官网下载 2 通过xftp等方式上传到服务器 #查看环境 [rootlocalhost ~]# cat /etc/redhat-release CentOS Stream release 8 [rootlocalhost ~]# uname -a Linux localhost.localdomain 4.18.0-552.el8.x86_64 #1 SMP Sun Apr 7 19:39:51 UTC 2024 x86_64 x86_6…

自动驾驶中的神经辐射场:综述

24年4月清华大学论文“Neural Radiance Field in Autonomous Driving: A Survey”。 神经辐射场(NeRF)由于其固有的优势,特别是其隐式表示和新视图合成能力,引起了学术界和工业界的广泛关注。 随着深度学习的快速发展&#xff0c…

YOLOv8项目使用说明

1. 下载群公告中的百度云连接,得到一个压缩文件 2. 解压并使用相关软件(如pycharm、VSCode等)打开 3. 选择一个合适的模型yaml文件,及数据集yaml文件进行训练 4. 配置并填入数据集yaml文件 5. 运行即可

JAVA 标准接口返回与i18n国际化配置

不喜欢废话直接上代码 标准通用返回 package com.luojie.common;import com.luojie.common.inter.ResponseCommon; import lombok.Data;Data public class ResponseCommonImpl implements ResponseCommon {int code;String msg;Object entity; }package com.luojie.common;im…

[muduo网络库]——muduo库三大核心组件之EventLoop类(剖析muduo网络库核心部分、设计思想)

接着上一节[muduo网络库]——muduo库三大核心组件之 Poller/EpollPoller类(剖析muduo网络库核心部分、设计思想),我们来剖析muduo库中最后一类核心组件,EventLoop类。 先回顾一下三大核心组件之间的关系。 接着我们进入正题。 Ev…

C++算法之区间合并

本文介绍区间合并相关知识点 目录 文章目录 前言 区间合并 概述 做法 n个区间合并 校门外的树 总结 前言 本文介绍区间合并这一基础算法,介绍常规的做法以及模板 区间合并 概述 通常区间合并是给定数个区间,想要将有交集的区间合并成一个区间 如下要…

知识付费程序源码_30秒轻松搭建知识付费小程序_免费试用,知识付费工具有哪些?哪个比较好用?

继2016年知识付费大火之后,衍生出很多关于知识付费的平台或工具。除了得到APP、荔枝微课、千聊等需要用户作为“客”家申请入驻的流量型平台,还有一些其他的知识付费工具,那么有哪些呢? 知识付费工具,推荐使用系统。 自2016年知识…

蓝桥杯第246题——矩阵计数

题目描述 一个 NM 的方格矩阵,每一个方格中包含一个字符 O 或者字符 X。 要求矩阵中不存在连续一行 3 个 X 或者连续一列 3 个 X。 问这样的矩阵一共有多少种? 输入描述 输入一行包含两个整数 N,M (1≤N,M≤5)。 输出描述 输出一个整数代表答案。…