使用带有 Windows 域身份验证的 Knife Bootstrap 时,Chef 中出现“无法获取本地颁发者证书”

使用带有 Windows 域身份验证的 Knife Bootstrap 时,Chef 中出现“无法获取本地颁发者证书”

我有一个可运行的开源 chef 安装,并正在尝试添加域身份验证来引导 Windows 服务器。

我已经按照knife windows文档。我使用此节点的域证书作为十六进制值。

当我尝试运行以下命令时:

knife bootstrap windows winrm #myip# -r 'role[#myrole#]' -x #MYDOMAIN#\\#myuser# -P '#mypass#' -p 5986 -VV

我收到以下错误:

Waiting for remote response before bootstrap.
DEBUG: Adding #myip#
DEBUG: :session => :init
DEBUG: :relay_to_servers => echo . & echo Response received.
DEBUG: :relayed => #myip#
DEBUG: #myip# => :run_command
at depth 1 - 20: unable to get local issuer certificate

由于我用于十六进制值的域证书是 Rackspace 颁发的证书,因此我认为它可能未在 chef 服务器或 chef 工作站上注册为受信任。我已将证书添加到chef 服务器和工作站/usr/local/share/ca-certificates/并在其上运行。我还将格式sudo update-ca-certificates为“/opt/chef/embedded/ssl/certs”的证书添加到chef 服务器上,并将格式为“/opt/chef/embedded/ssl/certs”的证书添加到 chef 工作站上。.pem/opt/chef-server/embedded/ssl/certs/etc/chef/trusted_certs

要么是我对这个问题的评估不正确,要么是我没有正确地重新配置证书——无论哪种情况,我都迷失了。

答案1

根据 Chef 支持,我需要对侦听器和 chef bootstrap 命令使用端口 5985,从而执行以下命令:

knife bootstrap windows winrm #myip# -r 'role[#myrole#]' -x #MYDOMAIN#\\#myuser# -P '#mypass#' -p 5985

然后我需要通过以下方式安装新的(预发布)gem winrm-s

gem install winrm-s --pre
gem uninstall winrm-s --version '= 0.2.0'

然后我需要安装最新的预发布版本knife-windowsviaops代码 github

一旦所有这些都完成,我就可以通过域身份验证从任何 Windows Chef 工作站引导 Windows 服务器。

相关内容