[英]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.name
和user.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.