Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git推送失败-权限被拒绝(公钥)_Git_Ssh_Gerrit - Fatal编程技术网

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

git推送失败-权限被拒绝(公钥),git,ssh,gerrit,Git,Ssh,Gerrit,我有一个gerrit服务器,具有多个repo 在清单中,我使用的是https://url而且它可以很好地进行抓取 我设置了一个sshlpushurl=”ssh://ssh-dns-name:29418“(请注意,此处没有用户名) 当我进行同步时,所有的项目都有类似的遥控器- origin https://url/my_project (fetch) origin ssh://ssh-dns-name:2941/my_project (push) 现在,当我推的时候,git抱怨权限被拒绝(公

我有一个gerrit服务器,具有多个repo

在清单中,我使用的是
https://url
而且它可以很好地进行抓取

我设置了一个
sshlpushurl=”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中设置为用户电子邮件

另外,我的客户机登录名是“abhayadevs”,这是gerrit用户名

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

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

user.name和
user.email
以任何方式对身份验证进行配置。它们只影响您在提交或标记中输入的个人姓名和电子邮件地址


如果将用户名放入推送URL中对您有效,那么就这样做:这是最简单、最简单的方法。使用GitHub或GitLab等站点的每个用户都必须在URL中输入用户名(
git
),这样做应该不会有问题。如果不指定用户名,默认值由OpenSSH确定,通常默认为本地用户的用户名,尽管它区分大小写。如果需要,您也可以在
~/.ssh/config
中显式覆盖它,但在URL中指定它可能更容易。

谢谢您的回答。正如您所说,我最后在~/.ssh/config:)中添加了一个主机配置,它运行良好。事实上,我正在对多个项目使用回购清单,并且我无法将用户名放在问题所在的共享清单中。