我无法从 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:没有为 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 文件,但这没有效果。当然,我在这里遗漏了一些非常明显的东西。