访问Elasticsearch 9200端口弹认证,如何获取登录账号密码?
Elasticsearch认证凭据获取方法
当前401报错是Elasticsearch开启安全模块后的正常鉴权拦截,连接所需的用户名密码可通过以下渠道获取:
- 7.x及以上版本默认安装的Elasticsearch,首次启动时会自动给内置超级用户
elastic生成随机初始密码,密码会直接输出在首次启动的运行日志中。进入Elasticsearch安装目录下的logs文件夹,打开elasticsearch.log搜索elastic关键词,就能找到启动时打印的初始密码,该内置账号的默认用户名固定为elastic。 - 若找不到初始日志中的密码,可在部署Elasticsearch的服务器上进入ES安装根目录,执行内置工具重置密码,执行时需要保证ES服务处于运行状态:
重置完成后用新生成/设置的密码即可正常访问9200端口。# 自动生成随机新密码,执行后直接返回可用的账号密码 bin/elasticsearch-reset-password -u elastic # 增加-i参数可交互式自定义设置指定密码 bin/elasticsearch-reset-password -u elastic -i - 若使用Docker部署单节点Elasticsearch,可先执行
docker logs <你的ES容器名>查看容器启动日志,搜索初始生成的elastic账号密码;如果日志已被清理,可进入容器内部执行上述重置命令获取新密码。 - 若使用云厂商托管的Elasticsearch服务(阿里云、腾讯云、AWS等平台托管实例),直接登录对应云平台的ES实例控制台,在账号管理/安全配置页面即可查看、重置elastic账号密码,这类托管实例的默认密码不会存储在本地日志中。
- Flask侧连接Elasticsearch时,只需要在初始化ES客户端时传入获取到的账号密码即可,以官方Python客户端
elasticsearch-py为例:
配置完成后即可正常建立连接,不会再触发401认证错误。from elasticsearch import Elasticsearch es = Elasticsearch( "http://localhost:9200", basic_auth=("elastic", "你获取到的对应密码") )
内容的提问来源于stack exchange,提问作者Dimaapp
相关产品推荐
相关产品推荐

