从数据包中读取并写入 .SSH 目录的厨师食谱

Chef recipe to read from data bag and write to .SSH directory

我正在尝试使用超级有用的 chef data bag 来存储允许我访问 SFTP 服务器的私钥。现在,在我的例子中,由 chef 管理的节点每个都需要在其 .ssh 目录中包含这些 private keys

到目前为止,我已经能够通过这样做来创建一个新的 data bag

knife data bag create keys mySFTP 其中 keys 是袋子,mySFTP 是袋子上的物品。此项看起来像这样:

id:       nifi
password: This is all the password that we will ever need. oashdkjashdk28374983q7489ahskjdhaskjdhq834y93q4 HEHEHE

** 请注意,我确实使用了此处未显示的加密数据包。

现在,我想我需要创建一个可以读取私钥并将其向下推送到所有节点的配方。我可以使用文件模板创建一个名为 mySFTP.key 的新文件并尝试从数据包中转储私钥吗?

我直接的问题是:如何编写我的receipe,它能够读取存储在我的数据包中的数据并将内容写入.ssh目录。最后,该节点应该能够连接到我的 SFTP 服务器。

您将使用 filetemplate 资源。使用 file 资源,您可以直接在配方代码中指定内容,使用 template,您可以使用 Erb 模板并通过 variables 属性 传递值。