在Elasticsearch中设置用户名和密码通常涉及以下步骤:
- 使用Elasticsearch内置的
elasticsearch-setup-passwords
工具来设置内置用户的密码。 - 在Elasticsearch的配置文件
elasticsearch.yml
中启用安全特性,并设置相关的用户和角色。
以下是如何使用elasticsearch-setup-passwords
工具设置密码的示例:
首先,你需要有权限运行Elasticsearch实例的环境。
然后,在命令行中运行以下命令来设置密码(需要用实际的Elasticsearch安装路径替换<path-to-elasticsearch>
):
<path-to-elasticsearch>/bin/elasticsearch-setup-passwords interactive
这个命令会提示你为内置的elastic
, kibana
和logstash_system
用户设置密码。
接下来,你需要编辑Elasticsearch的配置文件elasticsearch.yml
,通常位于<path-to-elasticsearch>/config
目录下,添加或修改以下内容来启用安全特性:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
然后,你可以在elasticsearch-keystore
中设置用于加密的密码,例如:
<path-to-elasticsearch>/bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.password
<path-to-elasticsearch>/bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.password
在运行Elasticsearch时,确保使用bin/elasticsearch
而不是bin/elasticsearch-d
,因为你需要传递一些参数来启用安全特性。
最后,你可以通过HTTPS端口与Elasticsearch通信,例如使用curl
:
curl -u elastic:<password> -X GET "https://<es-hostname>:9200/"
请注意,这些步骤可能会根据你的Elasticsearch版本而有所不同。始终参考官方文档以获取最新和最准确的配置步骤。