Я пытаюсь использовать chef_client
в качестве проводника. В настоящее время я получаю это сообщение:Шеф-повар: проблема аутентификации клиента с бродягой
==> default: ================================================================================
==> default: Chef encountered an error attempting to create the client "vagrant-3ccfff14"
==> default: ================================================================================
==> default:
==> default: Authentication Error:
==> default: ---------------------
==> default: Failed to authenticate to the chef server (http 401).
==> default:
==> default: Server Response:
==> default: ----------------
==> default: Invalid signature for user or client 'living-digital-validator'
==> default:
==> default: Relevant Config Settings:
==> default: -------------------------
==> default: chef_server_url "https://api.chef.io/..."
==> default: validation_client_name "living-digital-validator"
==> default: validation_key "/tmp/vagrant-chef/validation.pem"
==> default:
==> default: If these settings are correct, your validation_key may be invalid.
==> default:
==> default: Platform:
==> default: ---------
==> default: x86_64-linux
==> default:
Он пытается выбрать validation_key
, как "/tmp/vagrant-chef/validation.pem"
вместо того, чтобы выбрать файл living.pem
я установить на Vagrantfile
:
config.vm.provision "chef_client" do |chef|
chef.add_recipe 'custom_recipe'
chef.chef_server_url = 'https://api.chef.io/...'
chef.validation_key_path = 'living.pem'
chef.validation_client_name = 'living-digital-validator'
end
Я использую учетную запись I» вы только что создали на Chef Server как облако (Chef Manage).
Почему он выбирает pem
вместо того, чтобы установить на Vagranfile
?
Я создал файл knife.rb
это содержание:
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name "living"
client_key "#{current_dir}/living.pem"
chef_server_url "https://api.chef.io/..."
cookbook_path ["#{current_dir}/../cookbooks"]
, а затем я выполняемую knife ssl check
:
Connecting to host api.chef.io:443
Successfully verified certificates from `api.chef.io'
'chef.validation_key_path = 'living.pem'' <= возможно, попробуйте указать полный путь? Vagrant будет копировать в созданную виртуальную машину все необходимые файлы под '/ tmp/vagrant-chef' и оттуда шеф-повара оттуда, он не копирует правильный ключ, поскольку вы не указали полный путь, насколько я могу здесь рассказать. – Tensibai
Спасибо @ Tensibai. Я тестировал его перед установкой полного пути. Тем не менее, он продолжает терпеть неудачу (сообщение одно и то же). Файл 'validation.pem' копируется в' temp/vagrant-chef' ... – Jordi
Я имею в виду, что этот путь относится к вашей главной машине, используйте полный путь к вашему фактическому местоположению для этого файла, а не к машине VM. – Tensibai