我有一個新的虛擬機,我剛剛構建。它已經用與其他所有節點相同的烹飪書引導。他們可以很好地加載這個數據包。新的VM不能。廚師節點無法加載數據包項目,因爲公鑰加密問題
堆棧跟蹤誤差::
/usr/bin/chef-client:57:in `load'
/usr/bin/chef-client:57:in `<main>'
>>>> Caused by ChefVault::Exceptions::SecretDecryption: DATABAG_NAME/ITEM is not encrypted with your public key. Contact an administrator of the vault item to encrypt for you!
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-vault-2.9.1/lib/chef-vault/item.rb:152:in `secret'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-vault-2.9.1/lib/chef-vault/item.rb:74:in `load_keys'
代碼片段導致了問題::
databag_contents = ChefVault::Item.load(node['DATABAG_NAME']['ITEM']['databag'], node['DATABAG_NAME']['ITEM']['databag_item'])
從廚師服務器我已經更新了庫 knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here"
我覺得這從根本上說是一個跳馬錯誤,但事實上我已經r文檔所說的單一命令應該用公鑰加密數據包......我不知道還有什麼可以做的。
謝謝。
(實際的信息已被刪除,並以「DATABAG_NAME」和「項目」代替)
編輯::
我已經嘗試了一些額外的東西都在聊天。我也做了knife vault update DATABAG_NAME ITEM -S "name:new_vm_name_here" --verbose --verbose
從那裏的輸出中獲得密鑰。我拿了那些鑰匙,一個一個用knife data bag edit DATABAG ITEM_keys
手動添加鑰匙。他們都沒有工作。
入住'DATABAG_ITEM_keys'看到已經產生什麼樣的加密副本。 – coderanger
你在說數據包本身嗎?用刀子數據包顯示DATABAG_NAME'?我用'_keys'看到第二個條目,但之後沒有任何內容。那是問題嗎?其他人生成了這個,但它可能已被篡改 –
因此,chef-vault使用_keys後綴創建第二個數據包,其中包含與原始文件同名的項目。包含chef-vault的元數據和asym加密密鑰。 – coderanger