设置工作站时厨师 SSL 验证失败



我正在使用"knife configure -i"配置命令配置 knife.rb 来设置 Chef 工作站。正确回答所有问题后,我收到以下错误:

ERROR: SSL Validation failure connecting to host: 172.xx.x.xx - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

的目标是永远禁用此SSL证书验证,并使用刀具实用程序引导我的所有节点。

升级到版本 12.xx 后,我在运行 chef-client 时遇到了同样的问题。解决步骤:

  1. 从服务器拉取 crt。在节点上运行:刀 SSL 获取 -s https://yourchefserver01.com:443注意:如果 fetch 不起作用,请从 yourchefserver01.com:/var/opt/chef-server/nginx/ca/yourchefserver01.com.crt 复制到客户端:/root/.chef/trusted_certs/yourchefserver01.com.crt
  2. 验证它是否拉取:刀 SSL 检查 -S https://yourchefserver01.com:443
  3. export SSL_CERT_FILE="/root/.chef/trusted_certs/yourchefserver01.com.crt"
  4. 运行厨师客户端

您的问题是厨师服务器证书的验证。在 Chef 服务器上安装正确的证书

或将您的 Chef 服务器证书(位于 /etc/chef-server/hostname.crt 中)添加到您的工作站cacert.pem(默认情况下位于 <install path>/opscode/chef/embedded/ssl/certs 中)。

在 chef 12 中,您还必须在节点上分发它以验证 chef API 服务器,否则您将在每次 chef-client 运行开始时收到有关它的警告。

问题似乎与 .pem 验证器有关。 您的验证配置错误。尝试从 Chef 服务器创建新的验证密钥,并将其放在节点下。

如果您在内部运行 Chef Server,从长远来看,在 Chef Server(或负载均衡器)上安装第三方 SSL 证书(例如 Verisign)会更容易。 chef-clientknife附带OpenSSL,它将自动信任有效的第三方证书,无需在每个节点上进行配置。

请不要关闭 SSL 证书验证。SSL 验证是一种额外的保护,您信任的对 Chef 节点具有根访问权限的服务器是真正的 Chef 服务器,而不是中间人攻击。

最新更新