Git: 错误:权限拒绝,无法让用户访问repo.git

12 浏览
0 Comments

Git: 错误:权限拒绝,无法让用户访问repo.git

我无法通过HTTPS和SSH推送(但拉取正常)到公司的git仓库,真的非常感谢任何对此的帮助。这与这里看到的问题类似:(Git的著名“ERROR: Permission to .git denied to user”),只是我是在向公司的仓库推送,而不是个人的仓库 -- 不知道这是否与公司的防火墙有关。

这是我已经完成的操作(在克隆仓库之后):

通过SSH:

git remote set-url origin [我的公司仓库的SSH URL]

设置了我的SSH密钥并将其添加到我的用户账户;ssh到git@github.com会提示权限被拒绝(publickey),但是ssh到git@git.soma.company.com可以成功验证。

git pull
git push origin master

这会给出以下结果:

错误:对用户拒绝了对Organization/repo.git的访问权限。

致命错误:远程终止意外地挂断了连接

通过HTTPS:

git remote set-url origin [我的公司仓库的HTTPS URL]
git pull
git push origin master

这会提示我输入用户名和密码,然后给出以下结果:

错误:无法访问URL [我的公司仓库的HTTPS URL],返回码 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]

[branch "master"]

remote = origin

merge = refs/heads/master

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

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

如果有人能帮助我,我将非常感激。

0
0 Comments

这个错误是因为github用户账户的冲突导致的,这意味着可能有其他人访问了他的github账户,并错误地保存了你的github详细信息的密码。

现在每次你尝试推送到一个仓库时,github都会遇到冲突。

解决方法是:

如果你是Mac用户:

1. 打开你的Launchpad并搜索"Keychain Access"。

2. 现在从keychain账户中删除你的github凭据。

3. 推送到你的仓库并添加你的账户详细信息。

对于其他系统,尝试使用Keychain Access应用程序:

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

0
0 Comments

Git: ERROR: Permission to repo.git denied to user 的问题出现的原因是使用的用户没有对该仓库的权限。解决方法是以拥有权限的用户身份登录,将该用户从仓库的所有者中删除,然后再重新添加自己作为仓库的所有者。如果使用的是共享的电脑,无法进行这样的操作。尝试删除所有的SSH密钥,但仍然以其他用户身份识别。

0
0 Comments

根据您的描述,似乎每个人都使用相同的ssh用户名。这可能只是您对URL进行的匿名处理方式,但是如果每个人都使用相同的用户名,则可能存在一个authorized_keys列表,ssh使用该列表确定哪些密钥是有效的。当添加新用户时,您的ssh密钥可能已被替换、删除或从服务器的授权密钥列表中省略。

感谢您的快速回复。我们有4个用户贡献到该repo,每个用户都使用不同的ssh用户名和不同的ssh密钥。

出现"Git: ERROR: Permission to repo.git denied to user"这个问题的原因可能是您的ssh密钥未被服务器识别,导致被拒绝访问repo.git。解决方法是确保您的ssh密钥已正确添加到服务器的authorized_keys列表中。

以下是解决该问题的步骤:

1. 确认您使用的ssh用户名和密钥是正确的。如果有多个用户贡献到该repo,请确保每个用户都有正确的用户名和密钥。

2. 登录到服务器,并找到存储authorized_keys列表的文件。通常,该文件位于服务器的用户主目录下的.ssh文件夹中,文件名为authorized_keys。

3. 打开该文件,并确认您的ssh密钥是否已正确添加到文件中。如果未添加,请将您的公钥复制并粘贴到该文件的新行中。

4. 保存文件并退出。

5. 现在,再次尝试访问repo.git。如果一切正常,您应该能够成功访问repo.git而不再遇到"Git: ERROR: Permission to repo.git denied to user"的问题。

希望以上解决方法能帮助您解决问题。如果仍然遇到困难,请进一步检查服务器设置和用户权限。

0