使用ssh密文的Jenkins配置

Asa*_*bal 2 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
Run Code Online (Sandbox Code Playgroud)

Fre*_*and 8

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

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

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