我有一个可运行的开源 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-windows
viaops代码 github。
一旦所有这些都完成,我就可以通过域身份验证从任何 Windows Chef 工作站引导 Windows 服务器。