无法从远程存储库读取

问题描述 投票:46回答:18

我多次收到以下错误:

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

我很困惑如何解决这个错误。

github aptana
18个回答
20
投票

确保在GitHub帐户和本地计算机上使用正确的SSH密钥/用户名。这是你如何可以do that on GitHub

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

在未来,这在Linux / Unix操作系统(如Ubuntu)上更加容易和简化。 Ubuntu面向开发人员,默认情况下安装了正确的Git和SSH。


0
投票

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


0
投票

如果它是公共回购,只需使用https进行克隆。无需使用密码或设置SSH密钥。


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>

0
投票

我在Ubuntu上遇到与Pycharm相同的问题,解决方案是使用https代替SSH,例如:https://github.com/Bedo1212/myrepo.git


0
投票

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


0
投票

嗨我的问题是我的客户没有问我是否认出了密钥。打开终端并做ssh -T [email protected]工作。终端的响应询问我是否要添加密钥,我说是,之后,我的客户端工作正常


0
投票

我有一个类似的问题,直到我意识到,我通过代理地址运行我的机器为我的互联网连接,它恰好关闭主机连接。这可能是为数不多的原因之一。


0
投票

对我来说,我已经遵循了Adding new ssh key中提到的所有步骤以及与此问题相关的其他辅助链接。但问题是网络访问。解决方案 - 使用VPN访问我的Github Enterprise。 (在我的案例中,Georgia Tech VPN for github.gatech.edu)


0
投票

除了在ssh配置中设置身份文件之外,我还必须将git remote设置为正确的用户 - 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 [email protected]: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 [email protected]:myuser/myrepo.git
 * [new branch]      master -> master


6
投票

Click this

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


5
投票

私人回购我遇到了完全相同的问题。通过https和ssh克隆同样的错误

然后我通过github提交了一个提交(只用空行更新了README.md

令人惊讶的是,这解决了这个问题。虽然知道为什么会很好!


3
投票

假设你已经根据github的instructions完成了正确的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

现在你的推动应该有效


3
投票

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

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

今天我尝试克隆或git pull for private repo,但它遇到了上述问题。

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


2
投票

在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

1
投票

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

我的解决方案是:

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

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

然后,从我的开发者笔记本电脑

git push <remote_repo> <local branch>

终于运作良好。

PS:

我从来没有尝试过,但使用https进行远程回购似乎比ssh更好。

我希望这有帮助。


0
投票

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


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

这是一个老帖子,但这是他们发现的唯一有用的东西。

© www.soinside.com 2019 - 2024. All rights reserved.