2012-06-10 121 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瞧!