我刚刚通过debian安装步骤(使用apt-get install)在我的Ubuntu服务器上安装了Jenkins。我希望我的构建来自GitHub上的私有git存储库。这样,我就需要使用SSH访问我的存储库。
我的大多数搜索结果都显示以Jenkins用户身份登录并为我的GitHub帐户生成一个SSH密钥,但是通过debian包管理器安装时,我没有Jenkins用户的密码。
那么,如何生成供Jenkins服务器使用的SSH密钥呢?
发布于 2011-06-04 17:30:00
我预计您有时会希望能够以jenkins的身份登录来执行其他任务,因此我将解决更一般的问题。您的问题的严格答案将包含在最后。
在不知情的情况下更改jenkins的密码
从任何拥有sudo权限的帐户,您都可以将jenkins的密码重置为您选择的密码:
sudo passwd jenkins
为了使用sudo,可能会先要求您输入自己的密码。然后,系统将提示您输入要为jenkins设置的新密码,最后将提示您确认新密码。
如果您拥有sudo权限的用户名为joe,则会话可能如下所示:
joe $ sudo passwd jenkins
[sudo] password for joe: **you enter joe's passwd**
Enter new UNIX password: ** you enter new jenkins passwd**
Retype new UNIX password: ** you enter new jenkins passwd**
passwd: password updated successfully
替代方案:以jenkins身份登录,不使用密码
或者,再次从合适的其他帐户使用sudo,您可以以jenkins的身份登录,而不会被要求输入密码:
sudo su - jenkins
旁白:避免密码提示混淆
在发布sudo passwd jenkins
之前,我们可能首先想要单独使用sudo进行身份验证,以避免出现“现在要求我输入谁的密码?”的问题。
sudo -v
sudo passwd jenkins
在sudo成功进行身份验证后,会有一段时间(例如15分钟),系统不会提示我们再次进行身份验证。(请注意,如果您想尝试一下,可以立即用sudo -k
使这个会话无效(终止)。)
承诺的严格答案
sudo -u jenkins ssh-keygen
然后使用cat查看要传递给github的公钥的内容(但路径仅为示例):
sudo cat ~jenkins/.ssh/id_rsa.pub
公钥文件的确切位置和名称取决于您在上面的ssh-keygen提示符中输入的内容。我使用了jenkins的主目录~jenkins
的快捷方式。
相关链接
https://stackoverflow.com/questions/6234016
复制相似问题