Git:错误:拒绝用户的repo.git权限

时间:2013-08-15 01:33:55

标签: ubuntu github

我无法通过HTTPS和SSH推送(但拉动工作正常)到我公司的git存储库,并且非常感谢任何帮助。这是一个与此处看到的类似的问题:(Git's famous "ERROR: Permission to .git denied to user")除了我正在推动公司回购而不是个人回购 - 想知道这是否与公司防火墙有关。

这就是我所做的(已经克隆了回购后):

通过SSH:

git remote set-url origin [SSH url of my company repo]

设置我的ssh密钥并将其添加到我的用户帐户; ssh to git@github.com允许我拒绝(publickey),但ssh to git@git.soma.company.com成功验证。

git pull
git push origin master

这给了我:

  

错误:允许用户拒绝组织/ repo.git。   致命:远程端意外挂断

通过HTTPS:

git remote set-url origin [HTTPS url of my company repo]
git pull
git push origin master

提示我输入用户名和密码然后给我:

  

错误:无法访问URL [我公司回购的HTTPS网址],返回代码22   致命:git-http-push失败

以下是我的.git / config:

的内容
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [HTTPS url of my company repo]
[branch "master"]
remote = origin
merge = refs/heads/master

我已经确认我已被添加为该组织的合作者。删除自己并重新添加并没有解决问题,也没有删除我的ssh密钥并生成新密钥并将其添加到我的帐户。我也尝试删除我的整个用户帐户并从头开始设置,这曾解决过这个问题,但现在似乎没有用,并产生相同的错误。

有一件事是,这个问题最初是在我设置我的git访问repo时发生的,我通过删除我的用户帐户并重新设置来解决它。在接下来的两个月里,我能够成功地通过HTTPS推送到repo而没有任何问题。在团队成员建立访问权限并推送一些代码后,这些错误再次出现;这可能是问题的根源吗?

如果有人能帮助我,我会永远感激。

3 个答案:

答案 0 :(得分:4)

由于github用户帐户的冲突而发生此错误,这意味着可能有其他人访问了他的github帐户,并且错误使用您的github详细信息保存了他的密码

现在,每当你试图进入一个回购时,github就会面临碰撞。

所以解决方案是。 如果您是Mac用户

  1. 打开启动板并搜索钥匙串访问权。
  2. 现在从钥匙串帐户中删除您的github凭据。
  3. 按下您的回购并添加您的帐户详细信息。
  4. 对于其他系统 请尝试使用Keychain Access应用程序:

    https://help.github.com/articles/updating-credentials-from-the-osx-keychain/#updating-your-credentials-via-keychain-access

答案 1 :(得分:1)

有多少人正在使用这个回购?根据您的描述,看起来每个人都使用相同的ssh用户名。它可能就是你对URL进行匿名化的方式,但如果每个人都使用相同的用户名,那么ssh可能会使用一个authorized_keys列表来确定哪些密钥有效。添加新用户后,您的ssh密钥可能已被替换,删除或从服务器上的授权密钥列表中省略。

答案 2 :(得分:1)

刚才意识到我从未跟进过这个:

我通过以下方式解决了这个问题:

  • 以队友的身份登录
  • 删除,
  • 重新添加自己作为回购的拥有者。