小编pim*_*jor的帖子

在Ubuntu上使用Jenkins用户从GitHub获取时,权限被拒绝(公钥)

这是我的设置:

  1. Jenkins作为'jenkins'用户在我的linux机器上运行.
  2. 我已经为'jenkins'用户生成了Linux-Setup Git中描述的ssh密钥对.
  3. 当我sudo su jenkins尝试时ssh -vT git@github.com,我总是被问到我的密码,但我总是最终被认证.(详细选项显示使用了哪个键).
  4. 我可以使用jenkins从GitHub克隆我的repo:

正是如此:

jenkins@alpm:~/jobs/test git/workspace$ git pull 
Enter passphrase for key '/var/lib/jenkins/.ssh/id*_rsa':
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已按照信中的说明进行操作.问题是Jenkins作业失败并出现以下错误:

status code 128:
stdout: 
stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

当我输入密码短语时,这与我得到的错误相同(当然,詹金斯并没有问我密码短语).以下页面:

告诉我,ssh-agent可以帮助记住密码,当我使用自己的用户时,它会执行,但不是jenkins id.请注意,在以普通用户身份运行时会产生:

echo "$SSH_AUTH_SOCK"
/tmp/keyring-nQlwf9/ssh
Run Code Online (Sandbox Code Playgroud)

虽然运行与我的'jenkins'相同的命令但没有产生任何结果(甚至没有权限被拒绝)

我对这个问题的理解是没有记住密码.你有什么主意吗?我应该为jenkins用户启动ssh-agent或密钥环管理器?怎么样?或转发到同一台机器时ssh转发是否合适?有更明智的想法吗?

ps:我从来没有sudo gitted,我总是使用jenkins或我的用户帐户(如此SO帖子中提到的 - Ubuntu/GitHub SSH密钥问题)

github ssh-keys jenkins ubuntu-11.04

31
推荐指数
4
解决办法
6万
查看次数

标签 统计

github ×1

jenkins ×1

ssh-keys ×1

ubuntu-11.04 ×1