2012-06-10 113 views
1

我能夠運行與本地git存儲庫,但只有無密碼短語密鑰詹金斯生成。當我使用密碼時,我開始在構建中獲得權限問題。詹金斯配置與SSH密碼

我怎樣才能配置jenkins使用密碼?

- 我也是ssh的新手。這是我如何配置我的jenkins(在Ubuntu上)。

su jenkins 
ssh-keygen .... 
cat key.pub 

su user_with_github_repo 
cd ~/.ssh/ 
append jenkins key.pub to authorized_keys 
+0

我發現存在類似的問題。雖然,它不能解釋我的問題:http://stackoverflow.com/questions/8910848/hudson-cannot-fetch-from-git-repository –

回答

6

您遇到的問題很可能是由於ssh會交互式詢問密碼。我建議不要試圖在腳本中以非交互方式輸入密碼,因爲這在安全性方面似乎不會增加。

相反,您可以使用ssh-agent和ssh-add來解鎖密鑰並將其保存在內存中。 ssh-add將密鑰添加到ssh-agent,這是一個deamon進程。當服務器啓動時,您可以解鎖密鑰,然後Jenkins可以使用存儲在內存中的密鑰進行身份驗證。

爲此,請在服務器啓動時運行ssh-agent並將其輸出(兩個導出,SSH_AUTH_SOCK和SSH_AGENT_PID)捕獲到文件中。它應該像jenkins用戶那樣運行。使用ssh-add解鎖密鑰。然後在您想要使用該密鑰進行授權時輸出輸出文件,例如,在您的Jenkins構建腳本中。 Et瞧!