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

这是我的设置:

> Jenkins在我的linux机器上作为’jenkins’用户运行。
>我已经生成了一个ssh密钥对,如Linux – Setup Git所述,“jenkins”用户。
>当我sudo su jenkins和尝试ssh -vT git@github.com,我总是问我的密码,但我总是最终被证实。 (详细选项显示使用的键等)。
>我可以使用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.

到目前为止,我已经按照这封信的说明。问题是Jenkins作业失败,并显示以下错误:

status code 128:
stdout: 
stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly

这是错误的,当我打错了密码(但当然,jenkins不要求我的密码)。以下页面:

> GitHub – SSH Issues
> Using SSH Agent Forwarding

告诉我,ssh代理可以帮助记住密码短语,当我使用我自己的用户,而不是jenkins id时,它是这样做的。请注意,正如我的普通用户一样运行,

echo "$SSH_AUTH_SOCK"
/tmp/keyring-nQlwf9/ssh

在运行与我的’jenkins’相同的命令没有产生任何东西(甚至不允许被拒绝)

我对这个问题的理解是密码不被记住。
你有什么主意吗?
我会为jenkins用户启动一个ssh代理或密钥环管理器吗?怎么样?
还是ssh转发适合转发到同一台机器?
有什么更明亮的想法?

ps:我从来没有sudo gitted,我一直使用jenkins或我的用户帐户(如这个SO post – Ubuntu/GitHub SSH Key Issue中提到的)

由于没有人从几个月的评论中写下答案,我会很快这样做。

有两个可能的问题/解决方案:

> id_rsa用错误的用户创建

创建id_rsa作为jenkins用户(见hudson cannot fetch from git repository)
>将密码留空

http://stackoverflow.com/questions/10589976/permission-denied-public-key-during-fetch-from-github-with-jenkins-user-on-ubu

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:使用Jenkins用户在Ubuntu上从GitHub获取的权限被拒绝(公开密钥)