docker安装的es配置密码认证

server/2024/9/18 9:22:37/ 标签: docker, elasticsearch, jenkins

dockeres_0">docker安装的es配置密码认证

前言

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

测试环境安装es

dockercompose_8">采用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
dockercompose_100">删除测试容器启动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.ppmy.cn/server/40222.html

相关文章

C++中rand()函数和随机数种子

C中rand()函数的用法 rand() % (b-a1) a ; 就表示 a~b 之间的一个随机整数。 表达式 int num rand() % 100 1; 产生的是1到100之间的随机数,而不是1到99。 rand() % 100 会产生一个从0到99的随机数,因为 % 是取模运算符,它会给出 rand() …

Android中使用POI库读写Excel(.xlsx/.xls)文件

在Android开发中,处理Excel文件是一项常见需求,无论是从Excel导入数据还是导出数据到Excel。Apache POI是一个强大的Java库,专为操作Microsoft Office文档而设计,它也提供了对Android平台的支持。本文将指导你如何在Android项目中使用Apache POI库来读取和写入Excel文件(包…

动态规划算法练习——计数问题

题目描述 给定两个整数 a 和 b,求 a 和 b 之间的所有数字中 0∼9 的出现次数。 例如,a1024,b1032,则 a 和 b 之间共有 9 个数如下: 1024 1025 1026 1027 1028 1029 1030 1031 1032 其中 0 出现 10 次,1 出现…

C# 不用lock写一个多线程程序

多线程并发 当一段代码有可能被不止一个线程同时访问时,且存在共享资源(变量、文件句柄等),可能出现并发冲突。发生并发冲突时如果不加锁,程序的行为是不可预测的。而加锁本身又是一件麻烦事,弄不好会出现死锁,死锁时程…

Gateway基础配置指南

Gateway基础配置指南 一、引言 随着微服务架构的普及,API网关(Gateway)作为微服务架构中的关键组件,其重要性日益凸显。Gateway作为系统的唯一入口,负责处理所有客户端的请求,并根据业务规则将请求转发到…

关于学习与智慧

向优秀者学习,是进步最快的途径。 樊登说,如果你想要成功,最有效的方法是你装作自己是这样的人,最终你就会成为这样的人。 当你看到你身边有一个人很厉害,这个学一下。所以,向他人学习,让自己…

基于卷积神经网络的一维信号降噪(简单版,MATLAB)

简单演示一下基于卷积神经网络的一维信号降噪,有个大致印象即可。 %% Plot the previous training CNN. set_plot_defaults(on) load(denoiser_sparse.mat); h1{1} double(conv1); h1{2} double(conv2); h1{3} reshape(double(conv3),[8,1,17]); figure(1) [r,c…

【Linux笔记】 基础指令(二)

风住尘香花已尽 日晚倦梳头 重命名、剪切指令 -- mv 简介: mv 命令是 move 的缩写,可以用来移动文件或者将文件改名,是 Linux 系统下常用的命令,经常用来备份文件或者目录 语法: mv [选项] 源文件或目录 目标文件或目录…

TikTok海外运营:云手机的四种快速变现方法

随着TikTok用户基数的持续扩大,这个平台已成为全球创业者和品牌的新战场。其用户群接近20亿,并以年轻用户为主力军,市场渗透率逐年攀升。无论是大型组织、知名品牌,还是个人创业者,都无法忽视TikTok所带来的巨大商机。…

Activity7框架使用学习记录

用于记录在项目中使用工作流框架 PROC_DEF_ID: 流程定义的id bpmn文件中对流程图定义的id TASK_DEF_KEY:任务定义的id bpmn文件中对每个任务定义的id PROC_INST_ID:流程实例id 启动一个流程时对流程定义的id PROC_DEF_ID(流程定义的ID):在…

虚拟机ubuntu配置网络重启联网

前言 一段时间没用虚拟机&#xff0c;打开发现网络一直连接不上【如下图】 flags4099<UP,BROADCAST,MULTICAST> mtu 1500inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255ether 02:42:c2:5b:60:75 txqueuelen 0 (Ethernet)原因 1.以为是网络适配器选…

简易留言板

目录 前端实现 数据库的使用 创建数据表 创建项目 连接数据库 后端实现 接口定义 持久层 业务逻辑层 控制层 前端代码完善 留言板是一个常见的功能&#xff0c;在本篇文章中&#xff0c;将实现一个简易的留言板&#xff1a; 页面中能够显示所有留言内容&#xff0c…

P1101 单词方阵

题目描述: 给一 &#x1d45b;&#x1d45b;nn 的字母方阵&#xff0c;内可能蕴含多个 yizhong 单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向&#xff0c;同一单词摆放时不再改变方向&#xff0c;单词与单词之间可以交叉&#xff0c;因此有可…

验证搜索二叉树

目录 题目 方法一 思路 优化 方法二 思维误区 递归关系推导 代码实现 题目 98. 验证二叉搜索树 难度&#xff1a;中等 给你一个二叉树的根节点root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含…

使用C#和NMODBUS快速搭建MODBUS从站模拟器

MODBUS是使用广泛的协议&#xff0c;通讯测试时进行有使用。Modbus通讯分为主站和从站&#xff0c;使用RS485通讯时同一个网络内只能有一个主站&#xff0c;多个从站。使用TCP通讯时没有这方面的限制&#xff0c;可以同时支持多个主站的通讯读写。 开发测试时有各种复杂的需求&…

Mysql如何通过ibd文件恢复数据

Mysql ibd文件恢复注意问题 创建数据库&#xff08;随意创建&#xff09;创建数据表&#xff08;备注&#xff1a;表结构要和要恢复的表结构一致&#xff0c;row_format要和ibd文件的row_format一致&#xff0c;否则&#xff0c;会提示两者不一致。 当前row_formatdynamic&…

Java基础(三):Java异常机制以及底层实现原理

&#x1f337;一、异常 ☘️1.1 什么是异常 Java异常是程序发生错误的一种处理机制&#xff0c;异常的顶级类是Throwable&#xff0c;Throwable字面意思就是可抛出的&#xff0c;该类是所有的错误和异常的超类&#xff0c;只有Throwable类或者Throwable子类的实例对象才可以被…

苹果平板HOME键成历史,全面屏时代到来?2024平板电脑市场趋势分析

近期苹果公司在“放飞吧”发布会上推出了新款iPad Pro和iPad Air平板电脑&#xff0c;并下架了最后一款带有实体Home按键的iPad 9。这一变化标志着Home键在苹果iPad产品线中成为了历史&#xff0c;引起了不少网友的怀念和感慨。 与此同时&#xff0c;今年3月线上平板电脑市场迎…

常用设计模式

设计模式分三种&#xff1a;创建型、结构型、行为型 1、简单工厂模式、工厂模式、抽象工厂模式 简单工厂&#xff1a;工厂-》产品 工厂&#xff1a;抽象工厂-》工厂1-》产品1 -》工厂2-》产品2 抽象工厂&#xff1a;抽象工厂-》工厂1-》抽象产品-》产品1/产品2 2、建造者模式…

什么是IP跳变?

IP 跳跃&#xff08;也称为 IP 跳动&#xff09;的概念已引起使用代理访问网站的用户的极大关注。但 IP 跳跃到底是什么&#xff1f;为什么它对于各种在线活动至关重要&#xff1f; 在本文中&#xff0c;我们将深入探讨 IP 跳跃的世界&#xff0c;探索其实际应用、用例、潜在问…