8

经历了很多问题,但似乎没有什么能解决我的问题。或者更准确地说,我不确定我是否正确地完成了整件事。所以这里是:

已安装centos 6.3 操作系统。然后我按照以下指南安装詹金斯:

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions

詹金斯工作正常。现在我正在尝试设置一个简单的构建作业,它需要克隆一个 git 存储库。(我已经安装了 git 插件)

在存储库 URL 中,我输入以下内容:git@gitserver:myrepo.git 当然我得到一个错误:stderr:主机密钥验证失败。

好的,我需要生成 ssh 密钥,一切都会好的。所以我做了以下事情:

su - jenkins

但不幸的是,它不会切换到詹金斯用户。

猫 /etc/passwd

显示以下内容:

jenkins:x:496:492:Jenkins Continuous Build Server:/var/lib/jenkins:/bin/false

所以似乎它没有通常的主目录。

问题是我如何为詹金斯生成密钥,或者如果上述步骤不是正确的方法,我该如何解决?

非常感谢!

更新:我生成了密钥(作为 root 用户)并将它们放在 jenkins 家中,并且完全正确并将公钥复制到 git 服务器。仍然没有帮助。

当我查看构建日志时,它说:

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/myrepo/workspace

这个用户匿名是 jenkins 创建的另一个用户,还是运行命令的 jenkins?

4

8 回答 8

6

如果您能够安装 Jenkins RPM,我假设您具有 root 访问权限。以 root 身份登录时,您是否向 jenkins 用户发起了诉讼?如果没有,您应该这样做或使用

sudo su - jenkins

如果您的登录用户具有 sudo 访问权限。

然后运行

ssh-keygen -t rsa

为 jenkins 用户生成一个 RSA 密钥对,您可以将公钥上传到您的 git 服务器。如果您采用默认值,密钥将生成为 /var/lib/jenkins/.ssh.id_ra.pub。

于 2012-09-26T16:03:45.813 回答
5

1 更改用户詹金斯登录设置

vi /etc/passwd

将 /bin/false 更新为 /bin/bash

2 苏-詹金斯

jekins 用户主页将是 /var/lib/jenkins

3 ssh-keygen

猫 .ssh/id_rsa.pub

将此密钥复制到 bitbucket

4 SSH git@bitbucket.org

这将在 .ssh/known_hosts 中设置 bitbucket ssh 密钥

现在您应该可以访问

于 2013-10-04T17:19:29.400 回答
2

我认为 .ssh 目录应该位于 /var/lib/jenkins 中。

为我工作

于 2012-09-26T12:28:40.953 回答
2

1)首先通过编辑 /etc/passwd 文件更改 jenkins 为真实用户

/bin/false 到 /bin/bash

2) 登录到 jenkins 用户,现在 Jenkins 主目录将是 /var/lib/jenkins

su - jenkins

3) 再次生成 ssh 密钥(密钥将在 /var/lib/jenkins/.ssh 中创建)

ssh-keygen -t rsa

4) 复制 id_rsa.pub 密钥并粘贴到你的 git 的 authorized_keys 文件中

5)如果它不起作用,可能你必须检查你的 .ssh 目录和内容的权限

chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
于 2013-11-12T20:51:51.590 回答
2

我在更改为 jenkins 用户时遇到问题。我需要在系统中正确创建用户,以便我可以登录。我运行了这个命令来帮助我在系统中创建 jenkins 用户:

su -s /bin/bash jenkins
于 2013-11-11T22:56:08.267 回答
2

jenkins 是一个服务帐户,它没有设计外壳。人们普遍认为服务帐户不应该能够以交互方式登录。

我最初没有回答这个问题,因为它与已转移到服务器故障的问题重复。我应该在评论中回答而不是链接到答案。

如果由于某种原因你想以 jenkins 身份登录,你可以这样做:sudo su -s /bin/bash jenkins

于 2015-05-20T14:54:09.187 回答
1

为了以“jenkins”用户身份登录,也许你可以试试这个:

sudo -s -H -u jenkins

并尝试调用:

bash-4.1$ whoami
jenkins

希望能帮助到你。

于 2015-05-07T08:16:22.823 回答
0

我做了什么:sudo -u jenkins ssh-keygen。到目前为止它有效

于 2016-09-09T08:26:21.170 回答