elasticsearch-keystore
editelasticsearch-keystore
edit命令elasticsearch-keystore管理Elasticsearch密钥库中的安全设置。
概述
editbin/elasticsearch-keystore ( [add <settings>] [-f] [--stdin] | [add-file (<setting> <path>)+] | [create] [-p] | [has-passwd] | [list] | [passwd] | [remove <setting>] | [show [-o <output-file>] <setting>] | [upgrade] ) [-h, --help] ([-s, --silent] | [-v, --verbose])
描述
edit此命令应由运行 Elasticsearch 的用户执行。
目前,所有安全设置都是节点特定的设置,必须在每个节点上具有相同的值。因此,您必须在每个节点上运行此命令。
当密钥库受密码保护时,每次Elasticsearch启动时都必须提供密码。
对密钥库的修改不会自动应用到正在运行的 Elasticsearch 节点。 任何对密钥库的更改将在您重新启动 Elasticsearch 时生效。 某些安全设置可以在不重启的情况下显式重新加载。
只有部分设置设计为从密钥库中读取。然而,并没有验证来阻止不支持的设置从密钥库中读取,这些设置可能导致Elasticsearch无法启动。要查看某个设置是否在密钥库中受支持,请参阅设置参考。
参数
edit-
add <settings> -
向密钥库添加设置。可以将多个设置名称作为参数传递给
add命令。默认情况下,系统会提示您输入设置的值。如果密钥库受密码保护,系统还会提示您输入密码。如果密钥库中已存在某个设置,您必须确认是否要覆盖当前值。如果密钥库不存在,您必须确认是否要创建密钥库。要避免这两个确认提示,请使用-f参数。 -
add-file (<setting> <path>)+ - 将文件添加到密钥库。
-
create - 创建密钥库。
-
-f, --force -
当与
add参数一起使用时,该命令在覆盖密钥库中的现有条目之前不再提示您。此外,如果您还没有创建密钥库,它会创建一个被混淆但未受密码保护的密钥库。 -
-h, --help - 返回所有命令参数。
-
has-passwd - 如果密钥库存在并且受密码保护,则返回成功消息。否则,命令将以退出代码1失败并返回错误消息。
-
list - 列出密钥库中的设置。如果密钥库受密码保护,系统会提示您输入密码。
-
-p -
当与
create参数一起使用时,命令会提示您输入密钥库密码。如果您不指定-p标志或输入空密码,密钥库将被混淆但不受密码保护。 -
passwd - 更改或设置密钥库密码。如果密钥库受密码保护,系统会提示您输入当前密码和新密码。您可以选择使用空字符串来移除密码。如果密钥库不受密码保护,您可以使用此命令来设置密码。
-
remove <settings> -
从密钥库中移除设置。可以指定多个设置名称作为
remove命令的参数。 -
show <setting> -
显示密钥库中单个设置的值。
传递
-o(或--output)参数将设置写入文件。 如果写入标准输出(终端),设置的值始终被解释为 UTF-8 字符串。如果设置包含二进制数据(例如通过add-file命令添加的数据),请始终使用-o选项写入文件。 -
-s, --silent - 显示最小输出。
-
-x, --stdin -
当与
add参数一起使用时,您可以通过标准输入(stdin)传递设置值。使用回车或换行符分隔多个值。请参阅向密钥库添加设置。 -
upgrade - 升级密钥库的内部格式。
-
-v, --verbose - 显示详细输出。
示例
edit创建密钥库
edit要创建elasticsearch.keystore,请使用create命令:
bin/elasticsearch-keystore create -p
系统提示您输入密钥库密码。一个受密码保护的elasticsearch.keystore文件与elasticsearch.yml文件一起创建。
更改密钥库的密码
edit要更改 elasticsearch.keystore 的密码,请使用 passwd 命令:
bin/elasticsearch-keystore passwd
如果 Elasticsearch 密钥库受密码保护,系统会提示您输入当前密码,然后输入新密码。如果未受密码保护,系统会提示您设置密码。
列出密钥库中的设置
edit要列出密钥库中的设置,请使用 list 命令。
bin/elasticsearch-keystore list
如果 Elasticsearch 密钥库受密码保护,系统会提示您输入密码。
将设置添加到密钥库
edit敏感字符串设置,如云插件的身份验证凭据,可以使用 add 命令添加:
bin/elasticsearch-keystore add the.setting.name.to.set
系统提示您输入设置的值。如果 Elasticsearch 密钥库受到密码保护,系统还会提示您输入密码。
您也可以使用 add 命令添加多个设置:
bin/elasticsearch-keystore add \ the.setting.name.to.set \ the.other.setting.name.to.set
系统会提示您输入设置的值。如果 Elasticsearch 密钥库受到密码保护,系统还会提示您输入密码。
要通过标准输入(stdin)传递设置值,请使用 --stdin 标志:
cat /file/containing/setting/value | bin/elasticsearch-keystore add --stdin the.setting.name.to.set
多个设置的值必须用回车或换行符分隔。
将文件添加到密钥库
edit您可以使用 add-file 命令添加敏感文件,例如云插件的身份验证密钥文件。设置和文件路径以 setting path 的形式成对指定。设置的值将是文件路径在添加到密钥库时的二进制内容。
bin/elasticsearch-keystore add-file the.setting.name.to.set /path/example-file.json
您可以使用 add-file 命令添加多个文件:
bin/elasticsearch-keystore add-file \ the.setting.name.to.set /path/example-file.json \ the.other.setting.name.to.set /path/other-example-file.json
如果 Elasticsearch 密钥库受密码保护,系统会提示您输入密码。
显示密钥库中的设置
edit要在密钥库中显示设置的值,请使用show命令:
bin/elasticsearch-keystore show the.name.of.the.setting.to.show
如果设置包含二进制数据,您应该使用-o(或--output)选项将其写入文件:
bin/elasticsearch-keystore show -o my_file binary.setting.name
如果 Elasticsearch 密钥库受到密码保护,系统会提示您输入密码。
从密钥库中移除设置
edit要从密钥库中删除设置,请使用 remove 命令:
bin/elasticsearch-keystore remove the.setting.name.to.remove
您也可以使用remove命令删除多个设置:
bin/elasticsearch-keystore remove \ the.setting.name.to.remove \ the.other.setting.name.to.remove
如果 Elasticsearch 密钥库受到密码保护,系统会提示您输入密码。
升级密钥库
edit偶尔,密钥库的内部格式会发生变化。当从包管理器安装Elasticsearch时,磁盘上的密钥库会在包升级期间升级到新格式。在其他情况下,Elasticsearch会在节点启动期间执行升级。这要求Elasticsearch对包含密钥库的目录具有写权限。或者,您可以使用upgrade命令手动执行此类升级:
bin/elasticsearch-keystore upgrade