2016-01-06 49 views
0

我是新來的廚師。試圖安裝一個服務器,我可以從我的私人混帳拉。廚師bootstrap複製私人和公共git密鑰

那裏我需要將我的私鑰和公鑰複製到安裝的服務器。

私鑰可以位於廚師工作站機器上(我跑我的服務器在那裏創建配方)

我設法與$bootstrap_script我傳遞給機器 但私鑰這樣做是硬編碼在代碼中,並坐在git回購。

我相信這不是最佳做法。

如何從文件中讀取它? 試過:

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

但該文件在創建的機器中結束爲空。

回答

0

我不會真的推薦這種祕密管理方法,因爲它會非常脆弱。例如,在初始引導之後,您將無法通過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 

該局發生更換工作站上之前,引導腳本被髮送到遠程主機,以便它將使內容補充說。