elasticsearch 配置用户名和密码

这篇具有很好参考价值的文章主要介绍了elasticsearch 配置用户名和密码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

无密码的其他配置项在:https://blog.csdn.net/Xeon_CC/article/details/132064295

elasticsearch.yml配置文件:

xpack.security.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: /path/to/elastic-certificates.p12
xpack.security.transport.ssl: 
    enabled: true
    verification_mode: certificate
    client_authentication: required
    keystore.path: /path/to/elastic-certificates.p12
    truststore.path: /path/to/elastic-certificates.p12
证书的密码:
abcd1234

所有用户的密码:
bcda1234

生成证书
elasticsearch-certutil ca --out /path/to/elastic-stack-ca.p12 --pass abcd1234

如果你不想生成单独的证书,也就是三个节点共用一个证书,请不要执行这行命令,这行命令将被下文所提到的证书生成方式代替。
elasticsearch-certutil cert --ca /path/to/elastic-stack-ca.p12

输入指定路径
/path/to/elastic-certificates.p12

注意:设置密码这一步,三个节点都要执行。
设置密码
elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password
elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

查看密码
elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password
elasticsearch-keystore show xpack.security.http.ssl.truststore.secure_password
elasticsearch-keystore show xpack.security.transport.ssl.truststore.secure_password
elasticsearch-keystore show xpack.security.transport.ssl.keystore.secure_password

如果你希望集群共享一个整数,那么三个节点,确保elastic-certificates.p12证书文件是复制到每个节点的。

设置为false
xpack.security.http.ssl.enabled: false
修改密码
elasticsearch-setup-passwords interactive

最后,配置文件改回去
xpack.security.http.ssl.enabled: true

最后在elasticsearch-head访问:https://192.168.0.111:9200/?auth_user=xxx&auth_password=xxx

查看证书过期时间:

#生成pem文件
openssl pkcs12 -in /path/to/your/elastic-certificates.p12 -clcerts -nokeys -out extracted_certificate.pem

#通过pem文件查看证书过期时间:
openssl x509 -in /path/to/your/extracted_certificate.pem -noout -enddate


在上面的“生成证书”这个步骤中的第二行命令,可以换为以下的步骤,安全性会更高,注意,确保存在elastic-stack-ca.p12文件,也就上述“生成证书”步骤中的第一行命令生成的文件。
首先随便选择一个节点:在任何目录下创建instances.yml,并键入如下内容:

instances:
  - name: "node-1"
    dns:
      - "localhost"
    ip:
      - "192.168.1.105"
  - name: "node-2"
    dns:
      - "localhost"
    ip:
      - "192.168.1.105"
  - name: "node-3"
    dns:
      - "localhost"
    ip:
      - "192.168.1.105"

如果要配置公网域名:

instances:
  - name: "node-1"
    dns: ["abc.cde.com", "localhost"]
    ip: ["192.168.1.123"]
  - name: "node-2"
    dns: ["abc.cde.com", "localhost"]
    ip: ["192.168.1.123"]
  - name: "node-3"
    dns: ["abc.cde.com", "localhost"]
    ip: ["192.168.1.123"]

比如我放在config目录下

elasticsearch-certutil cert --in config/instances.yml --out config/certs/certificates.zip --ca config/certs/elastic-stack-ca.p12 --pass abcd1234

然后,解压certificates.zip文件,会得到node-1、node-2、node-3文件夹
把node-1.p12、node-2.p12、node-3.p12复制到每个对应es节点中的config/certs目录下,certs目录如果没有则自己新建。

最后更改elasticsearch.yml配置文件
elasticsearch 配置用户名和密码,elasticsearch,大数据
把这些证书文件替换为各自的证书文件。

这种配置方式的安全性要更高,推荐使用这种每个节点的证书都不同的方式。

如何用python通过SSL证书连接ES集群?
在每一个节点执行一下命令:

使用openssl配置客户端证书

openssl pkcs12 -in node-1.p12 -out node-1.crt -nokeys -nodes
openssl pkcs12 -in node-2.p12 -out node-2.crt -nokeys -nodes
openssl pkcs12 -in node-3.p12 -out node-3.crt -nokeys -nodes

然后,合并证书;

type node-1.crt node-2.crt node-3.crt > combined_ca.crt

最后在python中使用combined_ca.crt文件,把服务器生成的这个文件拷贝到python项目的目录中。

es = Elasticsearch(
    ['https://192.168.1.105:9201', 'https://192.168.1.105:9202', 'https://192.168.1.105:9203'],  # 你可以指定一个或多个节点
    http_auth=('elastic', 'your_password'),
    scheme='https',
    use_ssl=True,
    ca_certs='combined_ca.crt', # 指定证书的路径。
    verify_certs=True  # 设置为True意味着客户端将验证服务器的证书
)

index_name='abccc_2023-08-09'
if not es.indices.exists(index=index_name):
    body = {
        "settings": {
            "number_of_shards": 3,
        },
        "mappings": {
            "properties": {
                "location": {
                    "type": "geo_shape"
                },
                "geo_loctn": {
                    "type": "geo_point"
                }
            }
        }
    }

    es.indices.create(index=index_name, body=body)
    print('create es index ...')

如果能创建索引,说明验证成功。文章来源地址https://www.toymoban.com/news/detail-623404.html

到了这里,关于elasticsearch 配置用户名和密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch设置用户名和密码

    1、需要在配置文件中开启x-pack验证:修改config目录下面的elasticsearch.yml文件,在里面添加如下内容 2、重启es 3、进入es的安装根目录bin下找到elasticsearch-setup-passwords、并执行如下命令 4、执行elasticsearch-setup-passwords interactive命令后,这里需要为4个用户分别设置密码,elastic, kib

    2024年02月02日
    浏览(52)
  • elasticSearch 设置用户名密码 && 查询

    一、设置密码 1.需要在配置文件中开启x-pack验证, 修改config目录下面的elasticsearch.yml文件,在里面添加如下内容,并重启. 2,执行设置用户名和密码的命令,这里需要为4个用户分别设置密码,elastic, kibana, logstash_system,beats_system 网上设置时出现的: 我设置密码时出现的: 其中,用

    2024年01月17日
    浏览(59)
  • elasticsearch7设置用户名和密码

    windows ,elasticsearch 在elasticsearch.yml中添加 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true 在es的bin目录下命令行执行:elasticsearch-setup-passwords interactive   curl -H \\\"Content-Type:application/json\\\" -XPOST -u elastic \\\'http://127.0.0.1:9200/_xpack/security/user/elastic/_password\\\' -d \\\'{ \\\"password\\\" : \\\"123456\\\" }\\\' 修

    2024年02月12日
    浏览(41)
  • ElasticSearch没有记录初始化用户名密码

    初次使用启动ES时会初始化用户名:elastic,密码是随机生成的,在初次启动时控制台会展示相关信息(包含初始化密码),此时要注意保存,否则之后启动不会再显示。 对于我而言,我初次启动时没有保存记录密码,导致开启安全策略后无法通过用户密码登陆,并且我找了

    2024年02月10日
    浏览(37)
  • elasticsearch 7.6.1 的用户名和密码,kibana修改密码

    一/设置用户名密码 版本elasticsearch 7.6.1 elasticsearch/config/elasticsearch.yaml文件中添加如下内容 # ---------------------------------- Auth ------------------------------------- xpack.security.enabled: true xpack.license.self_generated.type: basic xpack.security.transport.ssl.enabled: true 在elasticsearch bin目录下使用如下命令

    2024年02月04日
    浏览(40)
  • Elasticsearch增加访问权限:使用用户名和密码访问

    elasticsearch服务安装成功后,默认可以在浏览器输入地址直接访问: 现对elasticsearch增加访问权限,使用用户名和密码访问,操作步骤: 在elasticsearch安装目录的config文件下找到elasticsearch.yml配置文件,在文件末尾添加以下内容 重新启动elasticsearch 切换到elasticsearch安装目录的b

    2024年02月03日
    浏览(42)
  • 使用URL访问elasticsearch携带用户名和密码

    示例: curl http://elastic:123456@127.0.0.1:9200/ 账号:elastic 密码:123456  

    2024年02月16日
    浏览(42)
  • [Elasticsearch] 给ES设置必须以用户名密码访问

    一、elasticsearch.yml中设置 1、进入es的config目录中打开elasticsearch.yml 2、增加以下两项: 二、重启es后使用elasticsearch-setup-passwords进行密码设置 1、在完成修改elasticsearch.yml后,重启es; 2、进入es的bin目录,敲入命令: 3、之后分别给elastic, kibana, logstash_system,beats_system等用户设置密

    2024年02月08日
    浏览(42)
  • 【软件安装教程】elasticsearch7.17安装设置用户名和密码

    链接:https://pan.baidu.com/s/1f3jTc4kaQvu_i9pVbuXdPQ  提取码:l3g1  下载后解压    bin :存入一些二进制脚本,包括启动 ES、安装插件命令等都在这里。 config :存放 ES 的配置文件,主要是 elasticsearch.yml 。 jdk :ES 自带的 Java 环境,所以我们无需自己安装 Java 环境。 lib :存放 ES 相关

    2024年02月13日
    浏览(48)
  • k8s部署带用户名和密码的elasticsearch

    elasticsearch本来可以不加用户名和密码,基于我们目前接触越来越多的客户,为了数据的安全性,也需要遗憾的加上用户名和密码 下面是k8s部署的yaml 文件名称:k8s-elasticsearch.yaml 执行kubectl apply -f k8s-elasticsearch.yaml 然后进入到es的pod中 命令: 进入容器后 然后浏览器访问 ip:30

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包