Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
Ubuntu Git:错误:用户对repo.Git的权限被拒绝_Ubuntu_Github - Fatal编程技术网

Ubuntu Git:错误:用户对repo.Git的权限被拒绝

Ubuntu Git:错误:用户对repo.Git的权限被拒绝,ubuntu,github,Ubuntu,Github,我无法通过HTTPS和SSH向我公司的git存储库推送(但拉操作可以很好地工作),我非常感谢在这方面提供的任何帮助。这是一个与这里看到的类似的问题:()除了我正在推动公司回购而不是个人回购——我想知道这是否与公司防火墙有关 以下是我(在克隆回购协议之后)所做的工作: 通过SSH: 设置我的ssh密钥并将其添加到我的用户帐户;宋承宪git@github.com给我的权限被拒绝(公钥),但ssh到git@git.soma.company.com验证成功 git pull git push origi

我无法通过HTTPS和SSH向我公司的git存储库推送(但拉操作可以很好地工作),我非常感谢在这方面提供的任何帮助。这是一个与这里看到的类似的问题:()除了我正在推动公司回购而不是个人回购——我想知道这是否与公司防火墙有关

以下是我(在克隆回购协议之后)所做的工作:

通过SSH: 设置我的ssh密钥并将其添加到我的用户帐户;宋承宪git@github.com给我的权限被拒绝(公钥),但ssh到git@git.soma.company.com验证成功

git pull
git push origin master
这给了我:

错误:用户对组织/repo.git的权限被拒绝。 致命:远程端意外挂起

通过HTTPS: 提示我输入用户名和密码,然后给出:

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

下面是my.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访问权限时,我通过删除我的用户帐户并重新设置来解决它。在接下来的两个月里,我能够顺利地通过HTTPS推送回购协议。在团队成员设置访问权限并推送某些代码后,这些错误再次出现;这可能是问题的根源吗


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

还有多少人在使用此回购协议?根据您的描述,似乎每个人都使用相同的ssh用户名。这可能只是您匿名URL的方式,但是如果每个人都使用相同的用户名,那么ssh可能会使用一个授权密钥列表来确定哪些密钥是有效的。添加新用户时,您的ssh密钥可能已被替换、删除或从服务器上的授权密钥列表中删除。

刚刚意识到我从未跟进过此问题:

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

  • 以队友的身份登录
  • 删除,以及
  • 重新将自己添加为回购协议的所有者

发生此错误的原因是github用户帐户发生冲突,这意味着可能有其他人访问了他的github帐户,并且错误地将他的密码与您的github详细信息一起保存了下来

现在,每次你试图推进回购,github都会面临冲突

因此,解决办法是。 如果您是mac用户

  • 打开启动板并搜索钥匙链访问
  • 现在从keychain帐户中删除您的github凭据
  • 推到您的回购并添加您的帐户详细信息 用于其他系统 尝试改用钥匙链访问应用程序:


    感谢您的快速回复。我们有4个用户以不同的ssh用户名和不同的ssh密钥参与了repo。感谢您的反馈+哎呀!我有一台旧电脑,所以我不能这样做。尝试删除所有ssh密钥,但仍将我标识为其他用户。
    git remote set-url origin [HTTPS url of my company repo]
    git pull
    git push origin master
    
    [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