使用ssh密文的Jenkins配置

时间:2012-06-10 21:41:16

标签: ssh jenkins

我可以使用本地git存储库运行jenkins构建,但只能使用no-passphrase 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

1 个答案:

答案 0 :(得分:8)

您遇到的问题可能是由于ssh会以交互方式询问密码。我建议不要尝试在脚本中以非交互方式输入密码,因为这似乎在安全性方面几乎没有增加。

相反,您可以使用ssh-agent和ssh-add来解锁密钥并将其保留在内存中。 ssh-add将关键添加到ssh-agent,这是一个deamon进程。您可以在服务器启动时解锁密钥,然后Jenkins可以使用存储在内存中的密钥进行身份验证。

为此,请在服务器启动时运行ssh-agent并将其输出(两个导出,SSH_AUTH_SOCK和SSH_AGENT_PID)捕获到文件。它应该作为jenkins用户运行。使用ssh-add解锁密钥。然后,只要您想在Jenkins构建脚本中使用该密钥进行授权,就可以获取输出文件。瞧瞧!