使用用户名密码访问Elastic

默认配置下,Elastic可以直接访问。有些时候需要配置成像数据库一样,经过用户名密码验证后,才能访问es中的索引数据。下面的方法可以实现,利用http-basic插件:

1.http-basic文件夹拷入plugins目录

插件下载地址GitHub - Asquera/elasticsearch-http-basic: HTTP Basic Authentication for Elasticsearch (Discontinued)

2.elasticsearch.yml中加入:

http.basic.enabled: true
http.basic.user: "test"
http.basic.password: "test132"
http.basic.ipwhitelist: ["localhost", "127.0.0.1"]
http.basic.trusted_proxy_chains: []
http.basic.log: true
http.basic.xforward: "X-Forwarded-For"

3.获取client使用如下代码

   /**
     * 初始化es连接客户端
     *@author ZRH
     */
    public static void init() {
        String clusterName =  SystemParameter.get("esClusterName");
        boolean clientTransportSniff = SystemParameter.getBoolean("esClientTransportSniff");
        String[] hostPorts= SystemParameter.get("esHostPorts").split(",");
        client = newClient(clusterName, clientTransportSniff, hostPorts);
        String esUserName = SystemParameter.get("esUserName");//配置中为test
        String esPassWord = SystemParameter.get("esPassWord");//配置中为test132
        client.prepareGet().putHeader("Authorization","Basic " + encodeBasicHeader(esUserName,esPassWord));
        System.out.println("my test:" + existsIndex(client,"123"));
    }

4.有疑问加群:258143901

<think>首先,用户的问题是:“我想查找Elasticsearch 8.9.0版本的默认登录用户名密码 请问Elasticsearch 8.9.0 default username and password”。这是一个关于Elasticsearch 8.9.0版本默认凭证的问题。 根据系统级指令,我需要: - 使用中文回答。 - 结构清晰,逐步解决问题。 - 保证回答真实可靠。 - 在行内数学表达式中使用$...$格式,但这里可能不涉及数学表达式。 - 独立公式使用$$...$$格式,但这里可能不需要。 - 生成相关问题。 - 在引用末尾添加引用标识。 现在,查看提供的引用: - 引用[1]: 讨论修改密码,提到了使用curl命令修改用户elastic密码- 引用[2]: Elasticsearch 8.9.1安装教程,提到配置文件中的用户名密码设置。 - 引用[3]: filebeat.yml配置,显示输出到Elasticsearch的用户名密码- 引用[4]: Elasticsearch 7.x安装,提到重置密码默认设置。 用户指定了Elasticsearch 8.9.0版本。从引用[2]看,它提到了8.9.1版本,但很接近。引用[4]是关于7.x的。 关键点:Elasticsearch从版本6.87.x开始引入了安全特性,默认启用。在8.0及更高版本中,安全是默认启用的。 在Elasticsearch 8.x中: - 默认情况下,安全特性是启用的。 - 安装过程中,系统会生成一个超级用户`elastic`的密码- 这个密码通常在安装过程中输出到终端或日志中。 - 默认用户名是`elastic`。 所以,对于Elasticsearch 8.9.0: - 默认用户名:`elastic` - 默认密码:在安装过程中随机生成,并在安装日志中显示。 如果用户没有记录密码,他们需要重置密码。引用[1]引用[4]提供了重置密码的方法。 我的回答结构: 1. **介绍默认凭证**:解释Elasticsearch 8.9.0的默认设置。 2. **提供解决方案**:如果忘记了密码,如何重置。 3. **引用相关部分**:自然地添加引用标识。 4. **生成相关问题**:在最后添加相关问题。 确保回答真实可靠:基于Elasticsearch官方文档,默认用户名是`elastic`,密码是安装时生成的。 步骤: - 确认用户名是`elastic`。 - 密码是随机的,需要从安装输出中获取。 - 如果丢失,使用重置方法。 引用标识: - 例如,提到修改密码时引用[1]。 - 提到配置文件设置时引用[2]。 最终回答: - 用中文。 - 清晰结构:问题、回答、重置方法、相关问题。</think>### Elasticsearch 8.9.0 默认用户名密码 Elasticsearch 从版本 8.0 开始默认启用了安全特性(X-Pack Security),这意味着安装过程中系统会自动生成一个超级用户账号密码。以下是针对 Elasticsearch 8.9.0 版本的默认凭证说明: 1. **默认用户名**: - 用户名固定为 `elastic`。这是一个内置的超级用户账号,拥有所有权限(如管理索引、用户集群设置)。 2. **默认密码**: - 密码在首次安装时由系统随机生成,**不会预设为常见值(如 "password" 或空密码)**。 - 安装过程中,密码会输出到终端或日志文件中。例如,在 Linux 或 macOS 上通过命令行安装时,您会看到类似以下的输出: ``` ✅ Elasticsearch security features have been automatically configured! ✅ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`): <随机生成的密码> ``` - 如果您在安装时没有记录密码,请检查安装日志文件(默认路径如 `/var/log/elasticsearch/elasticsearch.log`)。 3. **如果忘记密码怎么办?** 如果未保存默认密码,您需要通过重置密码来恢复访问。以下是通用步骤(适用于 Elasticsearch 8.9.0): - **步骤 1**: 停止 Elasticsearch 服务。 - **步骤 2**: 使用命令行工具重置密码(确保在 Elasticsearch 安装目录的 `bin/` 下运行): ```bash # 重置 elastic 用户的密码 ./elasticsearch-reset-password -u elastic -i ``` 执行后,系统会提示您输入新密码- **步骤 3**: 重启 Elasticsearch 服务。 - **步骤 4**: 验证登录,例如使用 curl 命令: ```bash curl -u elastic:新密码 http://localhost:9200 ``` 如果返回集群信息,表示重置成功[^1]。 **注意**:在重置过程中,可能需要处理 SSL 证书配置(如引用[3]所述),确保安全连接。如果遇到问题,可参考官方文档或重置整个安全索引(但需谨慎操作,可能影响其他用户)[^4]。 ### 为什么需要默认凭证? Elasticsearch 8.x 强制启用安全机制,以防止未授权访问。默认随机密码是为了提高安全性。如果您在安装过程中跳过了安全设置(如通过配置文件禁用),凭证可能无效,建议重新启用安全特性[^2][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值