Jenkins 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic、密码)

Posted

技术标签:

【中文标题】Jenkins 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic、密码)【英文标题】:Jenkins Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password) 【发布时间】:2015-05-26 02:58:02 【问题描述】:

在 CentOS 服务器上配置的 Jenkins 上,我正在尝试使用用户名和密码连接到另一台服务器上的 git 存储库。不幸的是,我收到以下错误:

Failed to connect to repository : 
Command "/usr/bin/git -c core.askpass=true ls-remote -h ssh://root@[ip addres]:2020/opt/gitrepo/enpapp.git HEAD" 
returned status code 128:
stdout: 
stderr: Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 
fatal: Could not read from remote repository.*
Please make sure you have the correct access rights and the repository exists.

我可以使用 Putty 连接到 git 服务器。 我还可以使用 Netbeans 或命令行克隆 git 存储库。

.ssh文件夹的权限为700,known_hosts文件的权限为644

【问题讨论】:

“我可以使用 Putty 连接到 git 服务器”是否使用与执行 Jenkins 相同的用户帐户? 【参考方案1】:

(命令 "/usr/bin/git -c core.askpass=true ls-remote -h ssh://root@[ip 地址]:2020/opt/gitrepo/enpapp.git HEAD")

从您的日志中可以看出,Jenkins 正在尝试使用 ssh-keys 连接到服务器

您可以使用 ssh-keygen 生成正确的密钥,并将私钥添加到 Jenkins Credentials 中,并将公钥添加到您的服务器帐户中。

如果您可以分享您的 jenkins 作业的屏幕截图,显示它是如何配置的,那就更好了。 Jenkins 中的 Git 插件不支持 ssh 上的用户名和密码。https://issues.jenkins-ci.org/browse/JENKINS-22909

【讨论】:

【参考方案2】:

我有同样的问题。就我而言,我错误地将私钥粘贴在 Jenkins 中。我正在从私钥中删除第一部分和最后一部分

-----BEGIN OPENSSH PRIVATE KEY----- &-----END OPENSSH PRIVATE KEY-----

因此,请确保在 Jenkins 上创建 SSH 凭据时复制了私钥的所有内容。

【讨论】:

以上是关于Jenkins 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic、密码)的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic、密码)

git push:权限被拒绝(公钥)

Gitlab,权限被拒绝(公钥),版本 6-4 稳定

GPDB:SSH 权限被拒绝(公钥)

权限被拒绝(公钥)。 GitLab 突然出现错误。我正确配置了私钥和公钥

通过公钥进行 ssh 访问失败“权限被拒绝(公钥)”