这是我的设置:
sudo su jenkins尝试时ssh -vT git@github.com,我总是被问到我的密码,但我总是最终被认证.(详细选项显示使用了哪个键).正是如此:
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密钥问题)