在centos上设置jenkins:ssh键和git的问题

Tad*_*zys 8 git ssh centos ssh-keys jenkins

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

安装了centos 6.3 OS.然后我按照以下指南安装jenkins:

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

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

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

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

su - jenkins
Run Code Online (Sandbox Code Playgroud)

但不幸的是它没有切换到jenkins用户.

cat/etc/passwd

显示以下内容:

jenkins:x:496:492:Jenkins Continuous Build Server:/var/lib/jenkins:/bin/false
Run Code Online (Sandbox Code Playgroud)

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

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

非常感谢!

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

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

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/myrepo/workspace
Run Code Online (Sandbox Code Playgroud)

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

gar*_*les 6

如果您能够安装Jenkins RPM,我假设您具有root访问权限.你是以root用户身份登录时使用jenkins用户吗?如果没有,你应该这样做或使用

sudo su - jenkins
Run Code Online (Sandbox Code Playgroud)

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

然后跑

ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

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

  • 它是正确的,密钥文件的所有者是root吗?可能jenkins用户没有登录shell,这可能是原因.检查`/ etc/passwd`文件中的条目如`jenkins:x:999:1001 ::/var/lib/jenkins:/ sbin/nologin`并用`/ bin/bash更改`/ sbin/nologin` `暂时切换到用户jenkins. (5认同)

jor*_*dan 5

1更改用户jenkins登录设置

vi/etc/passwd

更新/ bin/false到/ bin/bash

2 su - jenkins

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

3 ssh-keygen

cat .ssh/id_rsa.pub

将此密钥复制到bitbucket

4 ssh git@bitbucket.org

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

现在你应该可以访问了


Dan*_* S. 2

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

对我有用