Elasticsearch:找回密码 - Password Recovery

Elastic 专栏收录该内容
494 篇文章 87 订阅

如果你对如何为 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 界面上进行登录:

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值