Chef Vault密钥再生后无法解密,无其他管理员时如何恢复机密?
Chef Vault密钥重生成后解密问题的紧急解决方案
从已引导VM客户端提取解密后的机密
如果你的VM客户端已经成功通过Chef Server引导并运行过Chef Client,它的本地环境已具备解密对应Vault项的能力,可通过以下步骤获取明文机密:
- 登录目标VM客户端,定位Chef配置目录:Linux系统一般为
/etc/chef,Windows系统为C:\chef - 在客户端执行命令:
knife vault show VAULT_NAME ITEM_NAME -c /etc/chef/client.rb(Linux)或knife vault show VAULT_NAME ITEM_NAME -c C:\chef\client.rb(Windows),客户端的client.pem已被授权解密该Vault项,执行后直接输出明文内容 - 若客户端未安装knife工具,可运行
chef-client -l debug,在调试日志中搜索Vault项关键字,日志会输出解密后的内容(操作完成后务必清理日志,避免明文泄露)
不刷新Vault恢复管理员访问权限
利用客户端的授权密钥,可重新将你的新管理员密钥加入Vault授权列表,步骤如下:
- 从VM客户端复制私钥文件(Linux:
/etc/chef/client.pem,Windows:C:\chef\client.pem)到本地机器(操作完成后立即删除本地副本,保障安全) - 在本地执行命令:
其中knife vault update VAULT_NAME ITEM_NAME --add-admins YOUR_CHEF_USERNAME -c PATH_TO_CLIENT_PEMYOUR_CHEF_USERNAME是你重生成密钥后的Chef用户名,PATH_TO_CLIENT_PEM是本地存储的客户端私钥路径 - 命令执行成功后,你的新管理员密钥会被添加到Vault加密授权列表,此时即可用自身密钥正常访问Vault项
内容的提问来源于stack exchange,提问作者Moni
相关产品推荐
相关产品推荐

