问题描述
我只是通过debian安装步骤(使用apt-get安装)在我的Ubuntu服务器上安装了Jenkins。我希望我的构建可以从GitHub上的私有git存储库中提取。这样,我需要使用SSH访问来访问我的存储库。
我的大多数搜索结果都说过要以Jenkins用户身份登录并为我的GitHub帐户生成SSH密钥,但是通过debian软件包管理器进行安装时,我没有Jenkins用户的密码。
那么,如何生成供我的Jenkins服务器使用的SSH密钥?
最佳办法
我希望您会不时希望能够像詹金斯一样登录以执行其他任务,因此,我将解决更普遍的问题。最后包括对您问题的严格回答。
在不知道的情况下更改詹金斯的密码
从任何具有sudo权限的帐户中,您都可以将jenkins的密码重置为您选择的内容:
sudo passwd jenkins
为了使用sudo,可能首先会要求您输入自己的密码。然后,将提示您输入要为詹金斯设置的新密码,最后是对该新密码的确认。
如果您具有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
备选:以詹金斯身份登录,无需密码
或者,再次从合适的其他帐户使用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
的快捷方式。
相关链接