Chef
刀忽略 ~/.chef/knife.rb 中的 client_key
我收到類似的錯誤
WARN: Failed to read the private key /etc/chef/client.pem: #<Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/chef/client.pem> 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
儘管
~/.chef/knife.rb
包含client_key "#{ENV['HOME']}/.chef/chicks.pem"
這應該讓它尋找不同的文件。我跑過去發現它正在閱讀
knife
,但它會尋找並且從未嘗試打開。我在 Mint 17.3 和 Ubuntu 16.04LTS 上看到了同樣的問題。我試過 ChefDK 0.10.0 和 0.14.25 也有同樣的問題。使用顯式路徑沒有幫助。還有什麼要尋找或嘗試的?strace``/home/chicks/.chef/knife.rb``/etc/chef/client.pem``~/.chef/chicks.pem
從 Confluence 剪切和粘貼範例配置會導致 UTF-8 字元在
knife.rb
其中knife
不提供任何警告。(呸。)將 轉換knife.rb
為 ASCII 可以解決問題:cd ~/.chef iconv -c -f utf8 -t ascii knife.rb > clean-knife.rb mv clean-knife.rb knife.rb
這解決了我的問題!