elasticsearch-setup-passwords可以用bash脚本自动填充吗?

llycmphe  于 2023-04-29  发布在  ElasticSearch
关注(0)|答案(2)|浏览(153)

我有一个ElasticSearch和Kibana服务器运行在一个EC2示例上,该示例是使用bash脚本设置的。在加载凭据的时候,我使用了交互式的elasticsearch-setup-passwords工具,所以我必须手动添加凭据。我知道我可以使用参数'auto',但我需要使用bash文件中指定的凭据,因此该选项不起作用,因为它将加载随机凭据。有没有一种方法可以用bash自动化?

1yjd4xko

1yjd4xko1#

正如上面提到的Fravadona,看看 www.example.com

ecfdbz9o

ecfdbz9o2#

我完全自动化ES 7。10.2和7.16。3部署。如果在本地找不到所需的文件,我的脚本甚至会从Web下载这些文件,前提是服务器可以访问towww.example www.example.com
我希望有人能使用这段代码,因为我花了很多紧张的时间来弄清楚这些困难的部分。
我的脚本比下面的要详细得多,但你会从下面的几行中得到你需要的要点:

Write-Output "Generating ES CA certificate"
echo ${ELASTICSEARCH_XPACK_PASSWORD_CA} | & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-certutil ca -s --out ${ELASTICSEARCH_PATH_CERTIFICATES_DIRECTORY}\elastic-stack-ca.p12"
Start-Sleep 2

Write-Output "Creating ES keystore" 
echo ${ELASTICSEARCH_XPACK_PASSWORD_KEYSTORE} | & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-keystore create -s"
Start-Sleep 2

Write-Output "Adding secure passwords to ES keystore" 
echo ${ELASTICSEARCH_XPACK_PASSWORD_KEYSTORE} | & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password"
echo ${ELASTICSEARCH_XPACK_PASSWORD_KEYSTORE} | & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password"
echo ${ELASTICSEARCH_XPACK_PASSWORD_KEYSTORE} | & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password"
echo ${ELASTICSEARCH_XPACK_PASSWORD_KEYSTORE} | & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password"
echo ${ELASTICSEARCH_XPACK_PASSWORD_KEYSTORE} | & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-keystore add bootstrap.password"

Write-Output "Creating ES certs file"
cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-certutil cert -s --ca-pass ${ELASTICSEARCH_XPACK_PASSWORD_CA} --ca ${ELASTICSEARCH_PATH_CERTIFICATES_DIRECTORY}\elastic-stack-ca.p12 --out ${ELASTICSEARCH_PATH_CERTIFICATES_DIRECTORY}\elastic-certificates.p12 --pass ${ELASTICSEARCH_XPACK_PASSWORD_CA} "
Start-Sleep 2

Write-Output "Setting user passwords"
#Yes, the lines are silly, but whatever. This must be left hugging and no space/tabs.  
#IF THERE ARE SPACES TO EITHER SIDE OF THE VARIABLES BELOW -- DELETE THEM!
echo "y
$ELASTICSEARCH_XPACK_PASSWORD_APM_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_APM_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_KIBANA_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_KIBANA_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_KIBANA
$ELASTICSEARCH_XPACK_PASSWORD_KIBANA
$ELASTICSEARCH_XPACK_PASSWORD_LOGSTASH_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_LOGSTASH_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_BEATS_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_BEATS_SYSTEM
$ELASTICSEARCH_XPACK_PASSWORD_REMOTE_MONITORING_USER
$ELASTICSEARCH_XPACK_PASSWORD_REMOTE_MONITORING_USER
$ELASTICSEARCH_XPACK_PASSWORD_ELASTIC
$ELASTICSEARCH_XPACK_PASSWORD_ELASTIC
"| & cmd /c "${ELASTICSEARCH_DIRECTORY_LOCATION}\bin\elasticsearch-setup-passwords interactive" *>$null 2>&1

相关问题