2

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

4

1 回答 1

2

嗯,这很尴尬。我创建了一个文本文件来包含 RDP 会话中的秘密,但 Windows 资源管理器中的默认设置仍然是由于某些愚蠢的原因不显示文件扩展名。一旦我将文件重命名为真正具有正确的名称,它就开始按预期工作。

于 2014-09-12T20:17:11.020 回答