58

我多次收到以下错误:

无法读取远程存储库。请确保您具有正确的访问权限并且存储库存在。

我对如何纠正这个错误感到非常困惑。

4

21 回答 21

21

确保您在 GitHub 帐户和本地计算机上使用正确的 SSH 密钥/用户名。这 是在 GitHub 上执行此操作的方法

此外,您可能会考虑使用替代的 Git 管理器。我从未听说过 Aptana,但我知道 GitHub 有一个很棒的GUI程序来管理你的存储库。

未来,这一切在 Ubuntu 等 Linux/Unix 操作系统上变得更加容易和精简。Ubuntu 面向开发人员,默认情况下正确安装了 Git 和 SSH 之类的东西。

于 2013-04-26T21:57:54.437 回答
9

我对私人回购有完全相同的问题。通过 https 和 ssh 克隆相同的错误

然后我通过 github 进行了提交(只需README.md用空行更新)

令人惊讶的是,这解决了这个问题。很高兴知道为什么!

于 2016-04-25T14:26:52.687 回答
7

点击这里

我遇到了同样的问题 - 这是由我使用 SSH 密钥而不是 HTTPS URL 引起的。我通过 Intellij 导入项目创建了我的存储库,它必须通过 HTTPS 推送。

于 2017-02-27T18:08:40.567 回答
5

假设您已根据 github 的说明完成了正确的 SSH 密钥配置,这可能是使用 https 拉取然后使用 git+ssh 推送的问题

让它更清楚

如果你使用过 https 拉取

git pull https://github.com/user/repo.git

那么您已经更改了远程 URL

git remote set-url origin git+ssh://github.com/user/repo.git

并尝试在一些更改和提交后推送

git push origin master

你可能会遇到这个错误发生在我身上

删除本地存储库并使用 git+ssh 重新克隆

git pull git+ssh://github.com/user/repo.git

现在你的推动应该起作用了

于 2017-02-01T19:12:06.637 回答
4

ssh-add -A解决了我在MacOS Sierra 10.12.6中的问题。

我以前对公共和私人回购都没有问题。

今天我尝试克隆或 git pull 用于私人回购,但它遇到了上述问题。

经过搜索,这对我来说是完美的解决方案。

于 2017-08-22T08:31:37.927 回答
4

在 Windows 打开文件:
C:\Users\<USER_NAME>\.ssh\config

您应该在“config”文件中定义您的主机:

host gitlab.com
 HostName gitlab.com
 IdentityFile ~/.ssh/id_rsa_user_private_key

host bitbucket.org
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa_user_private_key

host github.com
 HostName github.com
 IdentityFile ~/.ssh/id_rsa_user_private_key
于 2019-02-05T13:33:02.157 回答
4

试试这 3 个简单的步骤:

这很简单。请参阅以下链接的 3 步摘要。

  1. 检查是否存在 SSH 密钥。如果存在,那就太好了:您可以使用它。如果没有,那么您将不得不创建一个.
  2. 您需要将 ssh 密钥添加到 ssh-agent。如果代理在工作中打盹,那么您需要通过将其写入您的控制台/终端来唤醒代理eval $(ssh-agent -s):然后你可以简单地添加密钥,
  3. 尝试推送您的存储库。希望它应该工作。
于 2019-09-04T05:32:36.673 回答
1

除了在 ssh 配置中设置身份文件之外,我还必须将 git 远程设置为正确的用户 - https://www.keybits.net/post/automatically-use-correct-ssh-key-中的完整解决方案for-remote-git-repo/

vi ~/.ssh/config
Host github.com-myuser
  HostName github.com
  User git
  IdentityFile ~/.ssh/mykey

我确定我已经用 ssh-add -l 加载了这个身份文件

ssh-add -l
4096 SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX mykey (RSA)

然后我将遥控器设置为包含正确的用户

git remote set-url origin git@github.com-myuser:myuser/myrepo.git

然后推动工作

git push -u origin master
Enumerating objects: 146, done.
Counting objects: 100% (146/146), done.
Delta compression using up to 4 threads
Compressing objects: 100% (144/144), done.
Writing objects: 100% (146/146), 9.71 MiB | 7.48 MiB/s, done.
Total 146 (delta 10), reused 0 (delta 0)
remote: Resolving deltas: 100% (10/10), done.
To git@github.com-myuser:myuser/myrepo.git
 * [new branch]      master -> master

于 2019-06-22T14:28:31.757 回答
1

我在使用 ssh 的私人 Ubuntu 服务器上遇到了同样的问题。

我的解决方法是:

在我的私人服务器上打开 shell

git init --bare /path/<myapp>.git

然后,从我的开发人员笔记本电脑上

git push <remote_repo> <local branch>

终于运作良好。

PS:

我从未尝试过,但使用 https 的远程 repo 似乎比 ssh 效果更好。

我希望这会有所帮助。

于 2017-01-26T08:01:03.273 回答
0

如果您想将任何存储库从本地推/拉到远程(git hub)
首先结帐

$ git push https://<git-hub url>

使用用户名和密码凭证工作正常

$ git push git@<git-hub url>

失败
无法读取远程存储库。请确保您具有正确的访问权限并且存储库存在。

这意味着您需要将id_rsa.pub添加到authorized_keys

goto 
$ cd /home/admin/.ssh
$ls
$vi authorized_keys
add id_rsa keys(n no of keys you can add)
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA0KJDLOiiXj9XdMxiCT9KvaKfuxFQi+CIiklaN5hHsNgYOu7TijqyONEu5fONLoAo/cshLa+KuargyTrtizwcP4TPcTXZhhJrM0GUDJragw7SMVIs/5xJBGAyHKJ1YUMGO7+nJTmsCLx6PFOlQYveuriiVVCCZerGCLH+UtSXK3z+l7hx9NiDg3/ylOLc3f3SLxrJKn0gMTgK7BHJFXo4PguuPjWZLVdUDX+XKiqtT2n4IsYs6N9qVFG3zUgNlEjZM47NK/ytAC0max98pK+QNzsuaQOo/IShJ1TOw5wwScflPArVJ2AyROqAe7cfQg7q12I9olASFd3U5NazfZCTYAvWA1kz9UZEWLJ1Br1XOkPqOleMM8KCp/PXzz8H0kISkMIji0/QuiZOPEBsKlszXjlALcXR8Mg1uiZVWy48i9JheyXyj1ToCj6cPScpgFHp3DAGSlKKbE1EFaVfeeyGAnHESlnDDg3Gq5xSsB9Okqm3V5t8GpFaJbV68BxQ4BK6HJ21A3CinV4LdV3hR/OBUbDG2EcI+ZKRDjlpJuu4YU= stace@pretend-machine
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAywWhrwq4FjHt+UuwZcZePxtjtZOENFpOjufycaYso2nTlzNwnAQEQRfbqsUxKVtOtGxgApIkUvjRIjNBdJE6iOzvBXZhhJrM0GUDJragw7SMVIs/5xJBGAyHKJ1YUMGO7+nJTmsCLx6PFOlQYveuriiVVCCZerGCLH+UtSXK3z+l7hx9NiDg3/ylOLc3f3SLxrJKn0gMTgK7BHJFXo4PguuPjWZLVdUDX+XKiqtT2n4IsYs6N9qVFG3zUgNlEjZM47NK/ytAC0max98pK+QNzsuaQOo/IShJ1TOw5wwScflPArVJ2AyROqAe7cfQg7q12I9olASFd3U5NazfZCTYAvWA1kz9UZEWLJ1Br1XOkPqOleMM8KCp/PXzz8H0kISkMIji0/QuiZOPEBsKlszXjlALcXR8Mg1uiZVWy48i9JheyXyj1ToCj6cPScpgFHp3DAGSlKKbE1EFaVfeeyGAnHESuXC9wkSeFZCEyMJ+RgJxMkBXNZmyycbwsSqAeGJpMEUDlwzu2GD0obBz0HXqg9J1Xallop5AVDKfeszZcc= stace@another-machine

:wq!

github-->settings--->ssh---->add new key---->id_rsa.pub

$git push git@<git-hub url>
于 2018-08-25T07:24:39.337 回答
0

就我而言,我生成了新的密钥对,但忘记在 github.com(设置)中更新公钥。

于 2020-03-15T03:09:28.277 回答
0

对我来说,我已按照添加新 ssh 密钥中提到的所有步骤以及与此问题相关的其他辅助链接进行操作。但问题是网络访问。解决方案 - 使用 VPN 访问我的 Github Enterprise。(在我的案例中,佐治亚理工学院 VPN 用于 github.gatech.edu)

于 2019-04-05T23:47:44.590 回答
0

如果它是公共仓库,只需使用https. 无需使用密码或设置 SSH 密钥。

于 2018-05-18T11:43:45.183 回答
0

如果您最近更新了 OSX,您必须调用ssh-add -A. 看看这个答案:https ://apple.stackexchange.com/questions/254468/macos-sierra-doesn-t-seem-to-remember-ssh-keys-between-reboots

于 2017-01-06T16:11:13.497 回答
0

我也有完全相同的错误,出于某种原因重新启动我的电脑解决了该错误。也许它也适用于其他人:P

于 2017-04-19T11:59:38.660 回答
0

安装根/CA 证书

给定一个 CA 证书文件 foo.crt,按照以下步骤在 Ubuntu 上安装它:

在 /usr/share/ca-certificates 中为额外的 CA 证书创建一个目录:

sudo mkdir /usr/share/ca-certificates/extra

将 CA .crt 文件复制到此目录:

sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

让 Ubuntu 将 .crt 文件相对于 /usr/share/ca-certificates 的路径添加到 /etc/ca-certificates.conf:

sudo dpkg-reconfigure ca-certificates

这是一篇旧帖子,但这是我发现唯一有效的方法。

于 2017-02-17T03:32:43.733 回答
0

嗨,我的问题是我的客户没有问我是否认出了钥匙。打开终端并完成ssh -T git@github.com工作。终端的响应询问我是否要添加密钥,我说是的,然后我的客户工作正常

于 2019-01-28T00:34:05.773 回答
0

一个简单的解决方案是从 github/gitlab 中删除旧的 ssh 密钥并再次添加相同的密钥。这很容易解决,您必须为任何事情烦恼

于 2020-09-30T14:26:20.300 回答
0

我在 Ubuntu 上与 Pycharm 有同样的问题,解决方案是使用 https 而不是 SSH,例如: https ://github.com/Bedo1212/myrepo.git

于 2018-09-04T16:52:21.453 回答
0

如果您使用的是 SSH,请确保您使用的是允许 SSH 的网络。大多数公共网络仅允许 HTTP(S) 流量。

于 2018-10-15T15:03:30.187 回答
0

我遇到了类似的问题,直到我意识到,我正在通过代理地址运行我的机器以进行 Internet 连接,并且它恰好关闭了主机连接。这也可能是少数几个原因之一。

于 2019-02-01T06:36:15.253 回答