我在linux上安装了git,gerrit和jenkins,我在jenkins上安装了gerrit trgger插件。 现在我正在设置geerrit服务器,并尝试添加ssh密钥文件,但它正在给我 错误" /home/heidi/.ssh/id_rsa"不存在,并且SSH密钥文件或密码错误。
就像其官方网站上的图片一样: https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger ("管理设置和#34中的那个;)
但是,这个位置和文件都存在! 为什么不能找到这些密钥? 我在.shh文件和这两个键上使用了chmod命令。 但它不起作用。
答案 0 :(得分:1)
这通常是
的症状jenkins
用户无法读取该密钥(您的自答案暗示)如果您已登录jenkins服务器,并导航到/var/lib/jenkins/.ssh
并执行ls -lA
您可能会看到的内容" root"或者其他一些用户拥有您尝试使用的id_rsa私钥。
[RHEL7.2 /var/lib/jenkins/.ssh]# ls -lA
-rw------- 1 root root 1675 Jul 11 07:45 id_rsa
-rw-r--r-- 1 root root 398 Jul 11 07:45 id_rsa.pub
-rw-r--r-- 1 jenkins jenkins 855 Jun 26 19:57 known_hosts
以root身份登录,或使用sudo,您需要更改用户和组的所有权以反映jenkins用户和组,如下所示:chown <user>:<group> file(s)
[RHEL7.2 /var/lib/jenkins/.ssh]# chown jenkins:jenkins id_rsa*
[RHEL7.2 /var/lib/jenkins/.ssh]# ls -lA
-rw------- 1 jenkins jenkins 1675 Jul 11 07:45 id_rsa
-rw-r--r-- 1 jenkins jenkins 398 Jul 11 07:45 id_rsa.pub
-rw-r--r-- 1 jenkins jenkins 855 Jun 26 19:57 known_hosts
答案 1 :(得分:0)
你可以创建一个密钥。
以运行服务器的用户身份登录本地计算机。 在命令提示符中,运行:
ssh-keygen -t rsa -C "your_email@example.com"
只需按即可接受默认位置和文件名。如果 .ssh目录不存在,系统会为您创建一个目录。 出现提示时,输入并重新输入密码短语。整个互动 看起来会像这样:
<强>来源:强>
https://confluence.atlassian.com/bitbucketserver/creating-ssh-keys-776639788.html
答案 2 :(得分:0)
我终于修好了......
在这里发布我的解决方案,以便将来可能会遇到这个问题的人
请注意您安装的文件jenkins的用户。(在我的例子中,/ var / lib / jenkins和用户是“jenkins”)
使用“sudo su”然后“su jenkins”
然后在/ var / lib / jenkins中生成一对ssh密钥
它将不再出现“.....剂量不存在”
:)