经历了很多问题,但似乎没有什么能解决我的问题。或者更确切地说,我不确定我是否正确地做了整件事。 所以这就是:
安装了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
但遗憾的是它没有切换到jenkins用户。
cat / etc / passwd
显示以下内容:
jenkins:x:496:492:Jenkins Continuous Build Server:/var/lib/jenkins:/bin/false
似乎它没有通常的主目录。
问题是如何为jenkins生成密钥,或者如果上述步骤没有正确的方法,我该如何解决?
非常感谢!
更新: 我生成密钥(作为root用户)并将它们放在jenkins主页中并完全将公钥复制到git服务器。仍然没有帮助。
当我查看构建日志时,它说:
Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/myrepo/workspace
这个用户匿名是由jenkins创建的另一个用户,还是运行命令的jenkins呢?
答案 0 :(得分:6)
如果您能够安装Jenkins RPM,我假设您具有root访问权限。你是以root用户身份登录时使用jenkins用户吗?如果没有,您应该这样做或使用
sudo su - jenkins
如果您的登录用户具有sudo访问权限。
然后运行
ssh-keygen -t rsa
为jenkins用户生成RSA密钥对,您可以将公钥上传到您的git服务器。如果采用默认值,密钥将生成为/var/lib/jenkins/.ssh.id_ra.pub。
答案 1 :(得分: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密钥现在您应该可以访问
了答案 2 :(得分:2)
我认为.ssh目录应该存在于/ var / lib / jenkins中。
为我工作
答案 3 :(得分:2)
我在更换为jenkins用户时遇到了问题。我需要在系统中正确创建用户,以便我可以登录到它。我运行此命令来帮助我在系统中创建jenkins用户:
su -s /bin/bash jenkins
答案 4 :(得分: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/*
答案 5 :(得分:2)
jenkins是一个服务帐户,它没有设计的shell。通常认为服务帐户不能以交互方式登录。
我最初没有回答这个问题,因为它是一个已经转移到服务器故障的问题的副本。我应该在评论中回答而不是与答案相关联。
如果由于某种原因你想以jenkins身份登录,你可以这样做: sudo su -s / bin / bash jenkins
答案 6 :(得分:1)
以" jenkins"登录用户,也许你可以试试这个:
sudo -s -H -u jenkins
尝试调用:
bash-4.1$ whoami
jenkins
希望它有所帮助。
答案 7 :(得分:0)
我做了什么:sudo -u jenkins ssh-keygen。它到目前为止工作