【问题标题】:Chef node cannot load data bag item because public key encryption issues由于公钥加密问题,Chef 节点无法加载数据包项
【发布时间】:2017-04-08 00:03:59
【问题描述】:

我有一个刚刚构建的新虚拟机。它已使用与所有其他节点相同的说明书进行引导。他们可以很好地加载这个数据包。新虚拟机不能。

堆栈跟踪错误::

/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'

导致问题的代码 sn-p ::

databag_contents = ChefVault::Item.load(node['DATABAG_NAME']['ITEM']['databag'], node['DATABAG_NAME']['ITEM']['databag_item'])

我已经从 Chef 服务器更新了保管库 knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here"

我认为这基本上是一个保管库错误,但事实上我已经运行了文档说应该用公钥加密数据包的单个命令......我不知道还能做什么.

谢谢。

(实际信息已被删除并替换为“DATABAG_NAME”和“ITEM”)

编辑::

我尝试过的一些其他事情在聊天中。我还做了一个knife vault update DATABAG_NAME ITEM -S "name:new_vm_name_here" --verbose --verbose 从那里的输出中获取密钥。我拿了这些钥匙,一一使用knife data bag edit DATABAG ITEM_keys手动添加钥匙。他们都没有工作。

【问题讨论】:

  • 签入DATABAG_ITEM_keys以查看已生成哪些加密副本。
  • 你说的是数据包本身吗?用knife data bag show DATABAG_NAME?我看到带有_keys 的第二个条目,但之后没有任何内容。那是问题吗?这是其他人生成的,但它可能已被篡改
  • 因此 chef-vault 创建了第二个带有 _keys 后缀的数据包,其中的项目与原始数据包同名。其中包含 chef-vault 的元数据和非对称加密密钥。
  • 您可以手动查看它的状态。
  • @coderanger 当我尝试knife vault show DATABAG_NAME_keys 时,它只是说找不到。

标签: chef-infra knife databags chef-vault


【解决方案1】:

更新保险库的命令需要是:

knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here" -M client

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 2016-07-17
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多