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、密码)