大图:试图将GitHub连接到Jenkins。 Jenkins在用户Jenkins下运行在Ubuntu上。(我以Pierre身份登录,然后更改为用户Jenkins)
我正在关注This Guide以连接两者。 我正在尝试从Jenkins命令行生成密钥。 我用了
ssh-keygen -t rsa -C 'pierre@myplace.com'
生成密钥并使用标准配置。但是当我尝试连接到GitHub时,我得到以下内容:
jenkins@Desktop:~$ eval "$(ssh-agent -s)"
Agent pid 6328
jenkins@Desktop:~$ ssh-add -l -E md5
The agent has no identities.
jenkins@Desktop:~$ ssh-add ~/.ssh/id_rsa
Identity added: /var/lib/jenkins/.ssh/id_rsa (/var/lib/jenkins/.ssh/id_rsa)
jenkins@Desktop:~$ ssh-add -l -E md5
2048 MD5:ad:1f:9d:5c:b5:cc:8e:bb:06:5b:c2:5e:68:67:77:24 /var/lib/jenkins/.ssh/id_rsa (RSA)
jenkins@Desktop:~$ ssh -T git@github.com
Permission denied (publickey).
jenkins@Desktop:~$ eval "$(ssh-agent -s)"
Agent pid 6353
jenkins@Desktop:~$ ssh-add -l -E md5
The agent has no identities.
=>即使手动将密钥添加到ssh-agent后,它也无法连接!
1)代理商的PID发生了怎样的变化?
2)为什么它会失去身份?
3)为什么不连接?
答案 0 :(得分:0)
问题1和2的答案是相同的:每个eval "$(ssh-agent -s)"
每次都会启动一个新的ssh代理。 eval
执行当时输出的文本作为shell命令,使其定义新的环境变量,告诉ssh-add
和ssh
如何使用新的ssh代理(也删除了信息)关于如何使用之前开始的任何其他ssh代理,尽管它们仍然在运行。)
我不知道问题3的答案,但是您尝试直接ssh到git@github.com
似乎很奇怪,而且我找不到您发布的指南,它告诉您要做什么那。 AIUI,git@github.com
不是你想要的东西,而是出现在Gitlab项目的URL中的东西,但我可能是错的。