【发布时间】:2015-12-03 16:07:58
【问题描述】:
我正在使用加密数据包加密 ssh 密钥并通过 Chef 解密。数据包的 id 为 pwind_ssh_rsa_pub_cred,但我真正想要的是 ssh 密钥的未加密数据。然后我想获取密钥并将其附加到文件中,但是我目前拥有的代码遇到了一些问题。使用静态值,下面的代码可以工作。此外,我对“decrypted_ssh”的类型非常困惑。
ruby_block "obtainCredentials" do
block do
hadoop_key = Chef::EncryptedDataBagItem.load_secret("/home/ec2-user/project_data_bag_key")
decrypted_ssh = Chef::EncryptedDataBagItem.load("pwind_keys", "pwind_ssh_rsa_pub_credentials", hadoop_key)
Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)
command = "su - 'root' -c 'cd /home/ec2-user; cd .ssh; echo #{decrypted_ssh} >> .authorized_keys'"
shell(command)
end
end
应该做哪些修改才能使这个 ssh 密钥解密并从加密的数据包中取出?任何建议将不胜感激!
【问题讨论】:
标签: encryption chef-infra chef-recipe