2017-02-21 4 views
0

Я пытаюсь использовать 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' 
+0

'chef.validation_key_path = 'living.pem'' <= возможно, попробуйте указать полный путь? Vagrant будет копировать в созданную виртуальную машину все необходимые файлы под '/ tmp/vagrant-chef' и оттуда шеф-повара оттуда, он не копирует правильный ключ, поскольку вы не указали полный путь, насколько я могу здесь рассказать. – Tensibai

+0

Спасибо @ Tensibai. Я тестировал его перед установкой полного пути. Тем не менее, он продолжает терпеть неудачу (сообщение одно и то же). Файл 'validation.pem' копируется в' temp/vagrant-chef' ... – Jordi

+0

Я имею в виду, что этот путь относится к вашей главной машине, используйте полный путь к вашему фактическому местоположению для этого файла, а не к машине VM. – Tensibai

ответ

0

Это означает, что либо ваше имя клиента проверка или ключ (вероятно, последний) это неверно. Вы можете сбросить ключ через веб-интерфейс шеф-повара или knife client rekey.

Смежные вопросы