- Elasticsearch 指南其他版本
- 8.17 中的新功能
- Elasticsearch 基础
- 快速入门
- 设置 Elasticsearch
- 升级 Elasticsearch
- 索引模块
- 映射
- 文本分析
- 索引模板
- 数据流
- 摄取管道
- 别名
- 搜索您的数据
- 重新排名
- 查询 DSL
- 聚合
- 地理空间分析
- 连接器
- EQL
- ES|QL
- SQL
- 脚本
- 数据管理
- 自动缩放
- 监视集群
- 汇总或转换数据
- 设置高可用性集群
- 快照和还原
- 保护 Elastic Stack 的安全
- Watcher
- 命令行工具
- elasticsearch-certgen
- elasticsearch-certutil
- elasticsearch-create-enrollment-token
- elasticsearch-croneval
- elasticsearch-keystore
- elasticsearch-node
- elasticsearch-reconfigure-node
- elasticsearch-reset-password
- elasticsearch-saml-metadata
- elasticsearch-service-tokens
- elasticsearch-setup-passwords
- elasticsearch-shard
- elasticsearch-syskeygen
- elasticsearch-users
- 优化
- 故障排除
- 修复常见的集群问题
- 诊断未分配的分片
- 向系统中添加丢失的层
- 允许 Elasticsearch 在系统中分配数据
- 允许 Elasticsearch 分配索引
- 索引将索引分配过滤器与数据层节点角色混合,以在数据层之间移动
- 没有足够的节点来分配所有分片副本
- 单个节点上索引的分片总数已超过
- 每个节点的分片总数已达到
- 故障排除损坏
- 修复磁盘空间不足的数据节点
- 修复磁盘空间不足的主节点
- 修复磁盘空间不足的其他角色节点
- 启动索引生命周期管理
- 启动快照生命周期管理
- 从快照恢复
- 故障排除损坏的存储库
- 解决重复的快照策略失败问题
- 故障排除不稳定的集群
- 故障排除发现
- 故障排除监控
- 故障排除转换
- 故障排除 Watcher
- 故障排除搜索
- 故障排除分片容量健康问题
- 故障排除不平衡的集群
- 捕获诊断信息
- REST API
- API 约定
- 通用选项
- REST API 兼容性
- 自动缩放 API
- 行为分析 API
- 紧凑和对齐文本 (CAT) API
- 集群 API
- 跨集群复制 API
- 连接器 API
- 数据流 API
- 文档 API
- 丰富 API
- EQL API
- ES|QL API
- 功能 API
- Fleet API
- 图表探索 API
- 索引 API
- 别名是否存在
- 别名
- 分析
- 分析索引磁盘使用量
- 清除缓存
- 克隆索引
- 关闭索引
- 创建索引
- 创建或更新别名
- 创建或更新组件模板
- 创建或更新索引模板
- 创建或更新索引模板(旧版)
- 删除组件模板
- 删除悬挂索引
- 删除别名
- 删除索引
- 删除索引模板
- 删除索引模板(旧版)
- 存在
- 字段使用情况统计信息
- 刷新
- 强制合并
- 获取别名
- 获取组件模板
- 获取字段映射
- 获取索引
- 获取索引设置
- 获取索引模板
- 获取索引模板(旧版)
- 获取映射
- 导入悬挂索引
- 索引恢复
- 索引段
- 索引分片存储
- 索引统计信息
- 索引模板是否存在(旧版)
- 列出悬挂索引
- 打开索引
- 刷新
- 解析索引
- 解析集群
- 翻转
- 收缩索引
- 模拟索引
- 模拟模板
- 拆分索引
- 解冻索引
- 更新索引设置
- 更新映射
- 索引生命周期管理 API
- 推理 API
- 信息 API
- 摄取 API
- 许可 API
- Logstash API
- 机器学习 API
- 机器学习异常检测 API
- 机器学习数据帧分析 API
- 机器学习训练模型 API
- 迁移 API
- 节点生命周期 API
- 查询规则 API
- 重新加载搜索分析器 API
- 存储库计量 API
- 汇总 API
- 根 API
- 脚本 API
- 搜索 API
- 搜索应用程序 API
- 可搜索快照 API
- 安全 API
- 身份验证
- 更改密码
- 清除缓存
- 清除角色缓存
- 清除权限缓存
- 清除 API 密钥缓存
- 清除服务帐户令牌缓存
- 创建 API 密钥
- 创建或更新应用程序权限
- 创建或更新角色映射
- 创建或更新角色
- 批量创建或更新角色 API
- 批量删除角色 API
- 创建或更新用户
- 创建服务帐户令牌
- 委托 PKI 身份验证
- 删除应用程序权限
- 删除角色映射
- 删除角色
- 删除服务帐户令牌
- 删除用户
- 禁用用户
- 启用用户
- 注册 Kibana
- 注册节点
- 获取 API 密钥信息
- 获取应用程序权限
- 获取内置权限
- 获取角色映射
- 获取角色
- 查询角色
- 获取服务帐户
- 获取服务帐户凭据
- 获取安全设置
- 获取令牌
- 获取用户权限
- 获取用户
- 授予 API 密钥
- 具有权限
- 使 API 密钥失效
- 使令牌失效
- OpenID Connect 准备身份验证
- OpenID Connect 身份验证
- OpenID Connect 注销
- 查询 API 密钥信息
- 查询用户
- 更新 API 密钥
- 更新安全设置
- 批量更新 API 密钥
- SAML 准备身份验证
- SAML 身份验证
- SAML 注销
- SAML 失效
- SAML 完成注销
- SAML 服务提供商元数据
- SSL 证书
- 激活用户配置文件
- 禁用用户配置文件
- 启用用户配置文件
- 获取用户配置文件
- 建议用户配置文件
- 更新用户配置文件数据
- 具有用户配置文件权限
- 创建跨集群 API 密钥
- 更新跨集群 API 密钥
- 快照和还原 API
- 快照生命周期管理 API
- SQL API
- 同义词 API
- 文本结构 API
- 转换 API
- 使用情况 API
- Watcher API
- 定义
- 迁移指南
- 发行说明
- Elasticsearch 版本 8.17.0
- Elasticsearch 版本 8.16.1
- Elasticsearch 版本 8.16.0
- Elasticsearch 版本 8.15.5
- Elasticsearch 版本 8.15.4
- Elasticsearch 版本 8.15.3
- Elasticsearch 版本 8.15.2
- Elasticsearch 版本 8.15.1
- Elasticsearch 版本 8.15.0
- Elasticsearch 版本 8.14.3
- Elasticsearch 版本 8.14.2
- Elasticsearch 版本 8.14.1
- Elasticsearch 版本 8.14.0
- Elasticsearch 版本 8.13.4
- Elasticsearch 版本 8.13.3
- Elasticsearch 版本 8.13.2
- Elasticsearch 版本 8.13.1
- Elasticsearch 版本 8.13.0
- Elasticsearch 版本 8.12.2
- Elasticsearch 版本 8.12.1
- Elasticsearch 版本 8.12.0
- Elasticsearch 版本 8.11.4
- Elasticsearch 版本 8.11.3
- Elasticsearch 版本 8.11.2
- Elasticsearch 版本 8.11.1
- Elasticsearch 版本 8.11.0
- Elasticsearch 版本 8.10.4
- Elasticsearch 版本 8.10.3
- Elasticsearch 版本 8.10.2
- Elasticsearch 版本 8.10.1
- Elasticsearch 版本 8.10.0
- Elasticsearch 版本 8.9.2
- Elasticsearch 版本 8.9.1
- Elasticsearch 版本 8.9.0
- Elasticsearch 版本 8.8.2
- Elasticsearch 版本 8.8.1
- Elasticsearch 版本 8.8.0
- Elasticsearch 版本 8.7.1
- Elasticsearch 版本 8.7.0
- Elasticsearch 版本 8.6.2
- Elasticsearch 版本 8.6.1
- Elasticsearch 版本 8.6.0
- Elasticsearch 版本 8.5.3
- Elasticsearch 版本 8.5.2
- Elasticsearch 版本 8.5.1
- Elasticsearch 版本 8.5.0
- Elasticsearch 版本 8.4.3
- Elasticsearch 版本 8.4.2
- Elasticsearch 版本 8.4.1
- Elasticsearch 版本 8.4.0
- Elasticsearch 版本 8.3.3
- Elasticsearch 版本 8.3.2
- Elasticsearch 版本 8.3.1
- Elasticsearch 版本 8.3.0
- Elasticsearch 版本 8.2.3
- Elasticsearch 版本 8.2.2
- Elasticsearch 版本 8.2.1
- Elasticsearch 版本 8.2.0
- Elasticsearch 版本 8.1.3
- Elasticsearch 版本 8.1.2
- Elasticsearch 版本 8.1.1
- Elasticsearch 版本 8.1.0
- Elasticsearch 版本 8.0.1
- Elasticsearch 版本 8.0.0
- Elasticsearch 版本 8.0.0-rc2
- Elasticsearch 版本 8.0.0-rc1
- Elasticsearch 版本 8.0.0-beta1
- Elasticsearch 版本 8.0.0-alpha2
- Elasticsearch 版本 8.0.0-alpha1
- 依赖项和版本
elasticsearch-certutil
编辑elasticsearch-certutil
编辑elasticsearch-certutil
命令简化了为 Elastic Stack 中使用的传输层安全性 (TLS) 创建证书的过程。
概要
编辑bin/elasticsearch-certutil ( (ca [--ca-dn <name>] [--days <n>] [--pem]) | (cert ([--ca <file_path>] | [--ca-cert <file_path> --ca-key <file_path>]) [--ca-dn <name>] [--ca-pass <password>] [--days <n>] [--dns <domain_name>] [--in <input_file>] [--ip <ip_addresses>] [--multiple] [--name <file_name>] [--pem] [--self-signed]) | (csr [--dns <domain_name>] [--in <input_file>] [--ip <ip_addresses>] [--name <file_name>]) [-E <KeyValuePair>] [--keysize <bits>] [--out <file_path>] [--pass <password>] ) | http [-h, --help] ([-s, --silent] | [-v, --verbose])
描述
编辑您可以指定以下模式之一:ca
、cert
、csr
、http
。elasticsearch-certutil
命令还支持静默模式操作,以便更容易地进行批量操作。
CA 模式
编辑ca
模式生成新的证书颁发机构 (CA)。默认情况下,它会生成单个 PKCS#12 输出文件,其中包含 CA 证书和 CA 的私钥。如果指定 --pem
参数,则该命令会生成一个 zip 文件,其中包含 PEM 格式的证书和私钥。
您可以随后使用这些文件作为该命令 cert
模式的输入。
CERT 模式
编辑cert
模式生成 X.509 证书和私钥。默认情况下,它会生成一个用于单个实例的证书和密钥。
要为多个实例生成证书和密钥,请指定 --multiple
参数,该参数会提示您输入每个实例的详细信息。或者,您可以使用 --in
参数来指定包含实例详细信息的 YAML 文件。
实例是 Elastic Stack 中需要 TLS 或 SSL 证书的任何部分。根据您的配置,Elasticsearch、Logstash、Kibana 和 Beats 可能都需要证书和私钥。实例所需的最小信息是其名称,该名称用作证书的公用名称。实例名称可以是主机名值或完整专有名称。如果实例名称会导致无效的文件或目录名称,则还必须在 --name
命令参数或输入 YAML 文件中的 filename
字段中指定文件名。
您可以选择为每个实例提供 IP 地址或 DNS 名称。如果未指定 IP 地址或 DNS 名称,则 Elastic Stack 产品无法执行主机名验证,并且您可能需要将 verification_mode
安全设置配置为仅 certificate
。有关此设置的更多信息,请参阅安全设置。
除非指定 --self-signed
参数,否则此命令生成的所有证书都由 CA 签名。您必须使用 --ca
或 --ca-cert
和 --ca-key
参数提供自己的 CA,除非指定了 --self-signed
。有关生成 CA 的更多信息,请参阅此命令的 CA 模式。要生成自签名证书,请使用 --self-signed
参数。
默认情况下,cert
模式会生成单个 PKCS#12 输出文件,其中包含实例证书、实例私钥和 CA 证书。如果指定 --pem
参数,则该命令会生成 PEM 格式的证书和密钥,并将它们打包到一个 zip 文件中。如果指定 --multiple
或 --in
参数,则该命令会生成一个 zip 文件,其中包含生成的证书和密钥。
CSR 模式
编辑csr
模式生成证书签名请求 (CSR),您可以将这些请求发送到受信任的证书颁发机构以获取签名证书。签名证书必须采用 PEM 或 PKCS#12 格式才能与 Elasticsearch 安全功能一起使用。
默认情况下,该命令会为单个实例生成单个 CSR。
要为多个实例生成 CSR,请指定 --multiple
参数,该参数会提示您输入每个实例的详细信息。或者,您可以使用 --in
参数来指定包含实例详细信息的 YAML 文件。
csr
模式会生成一个 zip 文件,其中包含每个实例的 CSR 和私钥。每个 CSR 都以 PKCS#10 CSR 的标准 PEM 编码形式提供。每个密钥都以 RSA 私钥的 PEM 编码形式提供。
HTTP 模式
编辑http
模式会引导您完成为 Elasticsearch 的 HTTP (REST) 接口生成证书的过程。它会询问您一些问题,以便根据您的需求生成正确的文件集。例如,根据您的选择,它可能会生成一个 zip 文件,其中包含证书颁发机构 (CA)、证书签名请求 (CSR) 或用于 Elasticsearch 和 Kibana 的证书和密钥。zip 文件中的每个文件夹都包含一个自述文件,说明如何使用这些文件。
参数
编辑-
ca
- 指定生成新的本地证书颁发机构 (CA)。此参数不能与
csr
、cert
或http
参数一起使用。 -
cert
- 指定生成新的 X.509 证书和密钥。此参数不能与
csr
、ca
或http
参数一起使用。 -
csr
- 指定生成证书签名请求。此参数不能与
ca
、cert
或http
参数一起使用。 -
http
- 为 Elasticsearch HTTP 接口生成新的证书或证书请求。此参数不能与
ca
、cert
或csr
参数一起使用。 -
--ca <file_path>
- 指定现有 CA 密钥对(采用 PKCS#12 格式)的路径。此参数仅适用于
cert
参数。 -
--ca-cert <file_path>
- 指定现有 CA 证书(采用 PEM 格式)的路径。您还必须指定
--ca-key
参数。--ca-cert
参数仅适用于cert
参数。 -
--ca-dn <name>
- 定义用于生成的 CA 证书的专有名称 (DN)。默认值为
CN=Elastic Certificate Tool Autogenerated CA
。此参数不能与csr
或http
参数一起使用。 -
--ca-key <file_path>
- 指定现有 CA 私钥(采用 PEM 格式)的路径。您还必须指定
--ca-cert
参数。--ca-key
参数仅适用于cert
参数。 -
--ca-pass <password>
- 指定现有 CA 私钥或生成的 CA 私钥的密码。此参数仅适用于
cert
参数。 -
--days <n>
- 指定一个整数值,表示生成的证书有效的天数。默认值为
1095
。此参数不能与csr
或http
参数一起使用。 -
--dns <domain_name>
- 指定一个以逗号分隔的 DNS 名称列表。此参数不能与
ca
或http
参数一起使用。 -
-E <KeyValuePair>
- 配置设置。
-
-h, --help
- 返回所有命令参数。
-
--in <input_file>
- 指定用于在静默模式下运行的文件。输入文件必须是 YAML 文件。此参数不能与
ca
或http
参数一起使用。 -
--ip <IP_addresses>
- 指定一个以逗号分隔的 IP 地址列表。此参数不能与
ca
或http
参数一起使用。 -
--keysize <bits>
- 定义在生成的 RSA 密钥中使用的位数。默认值为
2048
。此参数不能与http
参数一起使用。 -
--multiple
- 指定为多个实例生成文件。此参数不能与
ca
或http
参数一起使用。 -
--name <file_name>
- 指定生成的证书的名称。此参数不能与
ca
或http
参数一起使用。 -
--out <file_path>
- 指定输出文件的路径。此参数不能与
http
参数一起使用。 -
--pass <password>
-
指定生成的私钥的密码。此参数不能与
http
参数一起使用。以 PKCS#12 格式存储的密钥始终受密码保护,但是,此密码可以是空白。如果您想指定一个空白密码而无需提示,请在命令行上使用
--pass ""
(没有=
)。只有指定了
--pass
参数,以 PEM 格式存储的密钥才受密码保护。如果您不为--pass
参数提供参数,则系统会提示您输入密码。加密的 PEM 文件不支持空白密码(如果您不希望对 PEM 密钥进行密码保护,则不要指定--pass
)。 -
--pem
- 生成 PEM 格式而不是 PKCS#12 格式的证书和密钥。此参数不能与
csr
或http
参数一起使用。 -
--self-signed
-
生成自签名证书。此参数仅适用于
cert
参数。不建议将此选项用于在群集上设置 TLS。实际上,只有当您可以确定不需要 CA 并且信任直接授予证书本身时,才应使用自签名证书。
-
-s, --silent
- 显示最少输出。
-
-v, --verbose
- 显示详细输出。
示例
编辑以下命令以 PKCS#12 格式生成 CA 证书和私钥
bin/elasticsearch-certutil ca
系统会提示您输入输出文件名和密码。或者,您可以指定 --out
和 --pass
参数。
然后,您可以使用新的 CA 生成 X.509 证书和私钥。例如
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
系统会提示您输入 CA 密码以及输出文件名和密码。或者,您可以指定 --ca-pass
、--out
和 --pass
参数。
默认情况下,此命令会生成一个名为 elastic-certificates.p12
的文件,您可以将其复制到要配置的每个 Elastic 产品的相关配置目录。有关更多信息,请参阅使用 TLS 加密节点间通信。
在静默模式下使用 elasticsearch-certutil
编辑要使用静默模式操作,您必须创建一个包含实例信息的 YAML 文件。它必须与以下格式匹配
instances: - name: "node1" ip: - "192.0.2.1" dns: - "node1.mydomain.com" - name: "node2" ip: - "192.0.2.2" - "198.51.100.1" - name: "node3" - name: "node4" dns: - "node4.mydomain.com" - "node4.internal" - name: "CN=node5,OU=IT,DC=mydomain,DC=com" filename: "node5"
实例的名称。它可以是一个简单的字符串值,也可以是一个专有名称 (DN)。这是唯一必填字段。 |
|
一个可选的字符串数组,表示此实例的 IP 地址。允许使用 IPv4 和 IPv6 值。这些值作为主题备用名称添加。 |
|
一个可选的字符串数组,表示此实例的 DNS 名称。这些值作为主题备用名称添加。 |
|
此实例使用的文件名。此名称用作输出中包含实例文件的目录的名称。它也用于目录中的文件名。此文件名不应带有扩展名。注意:如果为实例提供的 |
当您的 YAML 文件准备就绪后,可以使用 elasticsearch-certutil
命令生成证书或证书签名请求。只需使用 --in
参数指定文件的位置。例如
bin/elasticsearch-certutil cert --silent --in instances.yml --out test1.zip --pass testpassword --ca elastic-stack-ca.p12
此命令会生成一个压缩的 test1.zip
文件。解压输出文件后,会看到每个在 instances.yml
文件中列出的实例都有一个目录。每个实例目录包含一个 PKCS#12 (.p12
) 文件,其中包含实例证书、实例私钥和 CA 证书。
您还可以使用 YAML 文件生成证书签名请求。例如
bin/elasticsearch-certutil csr --silent --in instances.yml --out test2.zip --pass testpassword
此命令会生成一个压缩文件,其中包含每个实例的目录。每个实例目录包含一个证书签名请求 (*.csr
文件) 和私钥 (*.key
文件)。