Elasticsearch:找回密码 - Password Recovery

当忘记Elasticsearch集群的密码时,可以使用内置工具`elasticsearch-users`来创建新超级用户并重置原有用户密码。本文详细介绍了如何通过创建新用户`newadmin`,然后使用该用户修改`elastic`用户的密码,最后验证重置后的密码能否正常访问集群。

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

如果你对如何为 Elasticsearch 集群设置安全的话,那么请阅读我之前的文章 “Elasticsearch:设置 Elastic 账户安全”。安全对于一个 Elasticsearch 是非常重要的。否则我们的集群无异于在裸奔下运行。在进行下面的练习之前,建议参考文章  “Elasticsearch:设置 Elastic 账户安全” 为自己的集群设置安全。

假如有一天,我们忘记了我们的 Elasticsearch 集群,那么我们有什么办法能找回我们的集群的密码呢?

我们首先发现在 Elasticsearch 的安装目录下,有一个 utility 叫做 elasticsearch-users:

$ pwd
/Users/liuxg/elastic3/elasticsearch-7.13.0
$ ls bin/elasticsearch-users
bin/elasticsearch-users

我们可以使用这个工具找回我们的用户密码。我们首先来查看一下这个工具的一些用法:

$ ./bin/elasticsearch-users --help
Manages elasticsearch file users

Commands
--------
useradd - Adds a file user
userdel - Deletes a file based user
passwd - Changes the password of an existing file based user
roles - Edit roles of an existing user
list - List existing file based users and their corresponding roles

Non-option arguments:
command              

Option             Description        
------             -----------        
-E <KeyValuePair>  Configure a setting
-h, --help         Show help          
-s, --silent       Show minimal output
-v, --verbose      Show verbose output

从上面,我们可以看出来,它可以创建和删除一些用户。这个为我们重设密码提供了便利。

假如我们忘记了超级用户 elastic 的密码,那么我们该怎么办呢?

我们使用如下的步骤:

1)首先,我们来创建另外一个超级用户 newadmin:

bin/elasticsearch-users useradd newadmin -p password -r superuser

在上面, 我们创建了一个叫做  newadmin 的超级用户,并且它的密码叫做 password。

如果我们使用  Kibana 的话,我们可以直接使用这个用户进行登录:

 2)我们接下来使用这个刚刚创建的超级用户来针对原有的 elastic 用户进行重置密码:

curl -s --user newadmin:password -XPUT "http://localhost:9200/_xpack/security/user/elastic/_password?pretty" -H 'Content-Type: application/json' -d'
{
  "password" : "password1"
}
'

在上面,我们重置用户 elastic 的密码为 password1。我们可以通过如下的命令来检查我们是否可以通过这个重置的密码来对集群进行访问:

curl --user elastic:password1 -X GET "http://localhost:9200?pretty"
$ curl --user elastic:password1 -X GET "http://localhost:9200?pretty"
{
  "name" : "liuxg",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "-vtUaRdHSnGJb5XdGC32bA",
  "version" : {
    "number" : "7.13.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "5ca8591c6fcdb1260ce95b08a8e023559635c6f3",
    "build_date" : "2021-05-19T22:22:26.081971330Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

当然我们也可以使用 elastic/password1 在 Kibana 界面上进行登录:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值