【问题标题】:chef bootstrap copy private and public git key厨师引导复制私人和公共git密钥
【发布时间】:2016-01-07 02:35:19
【问题描述】:

我是厨师新手。试图安装一个服务器,我可以从我的私人 git 中提取。

因为我需要将我的私钥和公钥复制到已安装的服务器。

私钥可以位于厨师工作站机器上(我从那里运行我的服务器创建食谱)

我设法用我传递给机器的$bootstrap_script 做到了这一点 但是私钥是硬编码在代码中的,并且位于 git repo 中。

我确定这不是最佳做法。

如何从文件中读取它? 试过了:

cat /home/jenkins/.ssh/id_rsa > /home/jenkins/.ssh/id_rsa 

但文件最终在创建的机器中为空。

【问题讨论】:

    标签: bash chef-infra


    【解决方案1】:

    我不会真正推荐这种秘密管理方法,因为它非常脆弱。例如,在初始引导之后,您将无法通过 Chef 更改密钥。您可以在https://coderanger.net/chef-secrets/ 中查看一些可用工具的概述。

    也就是说,如果你坚持,你会想要复制 existing bootstrap template 并创建一个自定义的。在该自定义引导模板中,您可以添加一些代码,例如:

    useradd jenkins # Or something like that
    cat > /home/jenkins/.ssh/id_rsa <<EOP
    <%= IO.read('/path/to/key/on/workstation') %>
    EOP
    

    Erb 替换发生在您的工作站上,然后引导脚本被发送到远程主机,因此它将在那里添加内容。

    【讨论】:

      猜你喜欢
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 2016-06-14
      相关资源
      最近更新 更多