Закрытый ключ шеф-повара не может быть загружен из /user.pem

Я только что закончил руководство по установке chef-server на веб-сайте Chef, используя экземпляр ec2 для моего chef-сервера (t2.medium Ubuntu 16.04 AMI) и свой ноутбук для моей рабочей станции, на которой также работает Ubuntu 16.04.

Похоже, мне удалось настроить рабочую станцию ​​chef и сервер chef. Однако мой ключ user.pem не находится. Это базар, потому что мои ключи pem были успешно перенесены с моего chef-сервера на мою рабочую станцию ​​chef с помощью 'scp'. Я могу видеть их в моем каталоге chef-repo на моей рабочей станции.

Может ли кто-нибудь быть любезным, чтобы помочь выяснить, почему мой ключ Pem не находится?

С моей рабочей станции шеф-повара:

~/chef-repo/

Я бегу:

knife ssl fetch

Я получил:

WARNING: Certificates from ec2-XX-XX-XXX-XXX.us-west-1.compute.amazonaws.com will be fetched and placed in your trusted_cert
directory (/home/user/chef-repo/.chef/trusted_certs).

Knife has no means to verify these are the correct certificates. You should
verify the authenticity of these certificates after downloading.

Adding certificate for ec2-XX-XX-XXX-XXX_us-west-1_compute_amazonaws_com in /home/user/chef-repo/.chef/trusted_certs/ec2-XX-XX-XXX-XXX_us-west-1_compute_amazonaws_com.crt

Итак, теперь у меня есть:

 '/chef-repo/.chef/trusted_certs/ec2-52-53-255-252_us-west-1_compute_amazonaws_com.crt' 

файл, как и ожидалось.

Далее я бегу:

knife ssl check

Я получил:

Connecting to host ec2-XX-XX-XXX-XXX.us-west-1.compute.amazonaws.com:443
Successfully verified certificates from `ec2-XX-XX-XXX-XXX.us-west-1.compute.amazonaws.com'

Но когда я бегу:

knife client list

Я получил:

WARN: Failed to read the private key /user.pem: #<Errno::ENOENT: No such file or directory @ rb_sysopen - /user.pem>

Your private key could not be loaded from /user.pem
Check your configuration file and ensure that your private key is readable

Мой 'нож.рб.' Настройки:

log_level                :info
log_location             STDOUT
node_name                "user"
client_key               "#{current_dir}/user.pem"
validation_client_name   "myorg_shortname-validator"
validation_key           "#{current_dir}/myorg_shortname-validator.pem"
chef_server_url          "https://ec2-XX-XX-XXX-XXX.us-west-1.compute.amazonaws.com/organizations/myorg_shortname"
syntax_check_cache_path  "#{ENV['HOME']}/.chef/syntaxcache"
cookbook_path            ["#{current_dir}/../cookbooks"]

На моем chef-сервере мои настройки / etc / hosts и / etc / hostname являются следующими:

ip-XXX-XX-XX-XX.us-west-1.compute.internal

Как ни странно, мне пришлось установить 'chef_server_url' в 'knife.rb' на:

ec2-XX-XX-XXX-XXX_us-west-1_compute_amazonaws_com

в отличие от:

ip-XXX-XX-XX-XX.us-west-1.compute.internal

иначе это не принесло бы мои ключи

Чего мне не хватает?

2 ответа

Надеюсь я никого не тратил впустую. Я нашел проблему в верхней части настроек "knife.rb". Это то, что происходит, когда я трачу слишком много времени на что-то, и мне действительно нужно просто отдохнуть.

Мне не хватало пути к каталогу в верхней части 'knife.rb':

current_dir = File.dirname(__FILE__)

Итак, мой 'knife.rb' теперь выглядит так:

current_dir = File.dirname(__FILE__)
log_level                :info
log_location             STDOUT
node_name                'user'
client_key               "#{current_dir}/user.pem"
validation_client_name   'digitalocean-validator'
validation_key           "#{current_dir}/myorg-validator.pem"
chef_server_url          'https://ec2-XX-XX-XXX-XXX.us-west-1.compute.amazonaws.com/organizations/myorg'
cache_type               'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path            ["#{current_dir}/../cookbooks"]

Надеюсь, я могу хотя бы помочь кому-то, кто, возможно, испытал это. Береги себя.

Почему шеф-повар не читает приватный ключ из моего файлаusers.pem?

      WARN: Failed to read the private key /root/chef-repo/.chef/xxxx.pem : #<Errno::ENOENT: No such file or directory @ rb_sysopen - /root/chef-repo/.chef/xxxx.pem >
ERROR: Your private key could not be loaded from /root/chef-repo/.chef/admin.pem
Check your configuration file and ensure that your private key is readable

я перепроверил/etc/hostsи/etc/hostname, IP-адрес сервера в ноже.рб. И я написал первую строку в файле нож.рб.

Другие вопросы по тегам