【问题标题】:Private key could not be loaded when I run "knife client list"运行“刀客户端列表”时无法加载私钥
【发布时间】:2013-10-29 06:48:45
【问题描述】:

配置文件写入/home/ubuntu/sudo /home/ubuntu/chef-repo/.chef/knife.rb

ubuntu@mychefclient:~$ knife client list
WARNING: No knife configuration file found
ERROR: Your private key could not be loaded from /etc/chef/client.pem
Check your configuration file and ensure that your private key is readable

【问题讨论】:

  • 粘贴您的knife.rb 以进一步排除故障。
  • log_level :info log_location STDOUT node_name 'ubuntu_client' client_key '/home/ubuntu/chef-repo/.chef/ubuntu_client.pem' validation_client_name 'chef-validator' validation_key '/etc/chef-server/ chef-validator.pem' chef_server_url 'mychefserver.example.com:443' syntax_check_cache_path '/home/ubuntu/chefrepo/.chef/syntax_check_cache'
  • 命令file /etc/chef-server/chef-validator.pem的输出是什么?
  • 您正在执行~ 中的knife client list。在~/chef-repo/ 中尝试,否则它不会拾取您的.chef/knife.rb 文件
  • “警告:没有找到刀配置文件”....这是第一个线索!试试“knife client list -c /home/ubuntu/chef-repo/.chef/knife.rb”

标签: ubuntu chef-infra installation knife


【解决方案1】:

请检查knife.rb 文件是否在.chef/knife.rb 中。

如果不运行以下命令:

knife configure initial

所以它会创建knife.rb,然后检查knife.rb中客户端密钥的路径并交叉检查该位置是否存在client.pem。

如果这不起作用。

只需转到客户端节点并从 /etc/chef 中删除 client.pem,然后运行 ​​chef-client,它会再次创建 client.pem。现在将该client.pem复制到服务器上并将该位置添加到knife.rb中

它肯定会起作用:)

【讨论】:

  • 谢谢! “刀配置初始”帮助很大。
  • 这一切的文档太可怕了,感谢您的回答,工作正常!
  • 我正在运行此命令,但它不会生成 client.pem 文件——即使在删除 .chef 文件夹并重新生成之后也是如此。
【解决方案2】:

除了 Jyoti 和 Alan 的回答之外,您可能还想尝试从浏览器的 chef 的 webui 中创建一个用户。

从knife.rb 中读取client.pem 的位置。 现在转到您的浏览器并以管理员身份创建一个新用户并复制私钥。请记住,私钥不会再次显示,因此请在这方面保持警惕。

在该位置创建一个文件并复制内容。

为我工作,希望它对你有用。

祝你好运:)

【讨论】:

    【解决方案3】:

    在我的情况下,从 .chef 文件夹运行刀命令会有所帮助

    【讨论】:

    • 您可能使用相对路径配置它,因此问题,尝试使用绝对路径配置它,您将能够从任何地方运行刀命令
    猜你喜欢
    • 1970-01-01
    • 2014-01-24
    • 2023-03-18
    • 2017-05-01
    • 2015-02-19
    • 2015-10-23
    • 1970-01-01
    • 2020-09-25
    • 2019-11-27
    相关资源
    最近更新 更多