繁体   English   中英

git 推送失败 - 权限被拒绝(公钥)

[英]git push is failing - Permission denied (publickey)

我有一个带有多个 repos 的 gerrit 服务器。

在清单中,我使用的是https://url ,它可以正常获取。

我设置了一个sshl pushurl="ssh://ssh-dns-name:29418" (注意没有用户名作为其中的一部分)。

当我进行同步时,所有项目都有遥控器,例如 -

origin  https://url/my_project  (fetch)
origin ssh://ssh-dns-name:2941/my_project (push)

现在,当我推送时,git 抱怨权限被拒绝(公钥)!!!

我看到 user.name 和 user.email 设置正确。 user.name "Abhayadev S" (在 gerrit 中设置为用户全名)和user.email "abhayadevs...@in.com"在 gerrit 中设置为用户 email

我的客户端机器登录名也是“abhayadevs”,这是 gerrit 用户名。

如果我在 pushurl 中使用用户名( ssh://abhayadevs@ssh-dns-name:29418 ),一切正常!

所以我很困惑,为什么 git 不使用用户名!!!! 我检查了git config --local --list ,本地没有设置任何内容..! 只有全局 git 配置有 user.name 和 user.email !!!

user.nameuser.email配置对身份验证没有任何影响 它们仅影响您在提交或标记中输入的个人姓名和 email 地址。

如果将用户名放入推送 URL 对您有用,那么就这样做:这是最简单、最简单的方法。 Every user using a site such as GitHub or GitLab must put the username ( git ) in the URL, so doing so shouldn't be a problem. 如果您不指定用户名,则默认值由 OpenSSH 确定,并且通常默认为您的本地用户的用户名,尽管它区分大小写。 如果需要,您也可以在~/.ssh/config中显式覆盖它,但在 URL 中指定它可能更容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM