我无法从Windows上的加密数据包中加载机密。我已将文件复制到c:\ chef \ encrypted_data_bag_secret,这是默认路径。
我首先尝试过这个:
credentials = Chef::EncryptedDataBagItem.load("system", "deploy")
此错误导致失败:
10.0.1.20 [2014-09-12T19:51:45 + 00:00]致命:ArgumentError:未指明密码 to load_secret,在C:\ chef \ encrypted_data_bag_secret
找不到秘密
然后我尝试明确指定它:
secret = Chef::EncryptedDataBagItem.load_secret("c:/chef/encrypted_data_bag_secret")
credentials = Chef::EncryptedDataBagItem.load("system", "deploy", secret)
这也失败了:
10.0.1.20 [2014-09-12T19:53:18 + 00:00]致命:Errno :: ENOENT:没有这样的文件或目录 - 找不到文件&#c; / chef / encrypted_data_bag_secret'
最后,我尝试指定反斜杠,以防这不起作用:
secret = Chef::EncryptedDataBagItem.load_secret("c:\\chef\\encrypted_data_bag_secret")
credentials = Chef::EncryptedDataBagItem.load("system", "deploy", secret)
那也失败了:
10.0.1.20 [2014-09-12T19:54:49 + 00:00]致命:Errno :: ENOENT:没有这样的文件或目录 - 找不到文件&c; \ chef \ encrypted_data_bag_secret'
我还试过编辑权限,这样每个人都可以查看encrypted_data_bag_secret文件,但这没有任何效果。当然,我有一些非常明显的遗漏。
答案 0 :(得分:2)