我多次收到以下错误:
无法读取远程存储库。请确保您具有正确的访问权限并且存储库存在。
我对如何纠正这个错误感到非常困惑。
确保您在 GitHub 帐户和本地计算机上使用正确的 SSH 密钥/用户名。这 是在 GitHub 上执行此操作的方法
此外,您可能会考虑使用替代的 Git 管理器。我从未听说过 Aptana,但我知道 GitHub 有一个很棒的GUI程序来管理你的存储库。
未来,这一切在 Ubuntu 等 Linux/Unix 操作系统上变得更加容易和精简。Ubuntu 面向开发人员,默认情况下正确安装了 Git 和 SSH 之类的东西。
我对私人回购有完全相同的问题。通过 https 和 ssh 克隆相同的错误
然后我通过 github 进行了提交(只需README.md
用空行更新)
令人惊讶的是,这解决了这个问题。很高兴知道为什么!
假设您已根据 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
现在你的推动应该起作用了
ssh-add -A解决了我在MacOS Sierra 10.12.6中的问题。
我以前对公共和私人回购都没有问题。
今天我尝试克隆或 git pull 用于私人回购,但它遇到了上述问题。
经过搜索,这对我来说是完美的解决方案。
在 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
这很简单。请参阅以下链接的 3 步摘要。
eval $(ssh-agent -s)
:然后你可以简单地添加密钥,除了在 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
瞧
我在使用 ssh 的私人 Ubuntu 服务器上遇到了同样的问题。
我的解决方法是:
在我的私人服务器上打开 shell
git init --bare /path/<myapp>.git
然后,从我的开发人员笔记本电脑上
git push <remote_repo> <local branch>
终于运作良好。
PS:
我从未尝试过,但使用 https 的远程 repo 似乎比 ssh 效果更好。
我希望这会有所帮助。
如果您想将任何存储库从本地推/拉到远程(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>
就我而言,我生成了新的密钥对,但忘记在 github.com(设置)中更新公钥。
对我来说,我已按照添加新 ssh 密钥中提到的所有步骤以及与此问题相关的其他辅助链接进行操作。但问题是网络访问。解决方案 - 使用 VPN 访问我的 Github Enterprise。(在我的案例中,佐治亚理工学院 VPN 用于 github.gatech.edu)
如果它是公共仓库,只需使用https
. 无需使用密码或设置 SSH 密钥。
如果您最近更新了 OSX,您必须调用ssh-add -A
. 看看这个答案:https ://apple.stackexchange.com/questions/254468/macos-sierra-doesn-t-seem-to-remember-ssh-keys-between-reboots
我也有完全相同的错误,出于某种原因重新启动我的电脑解决了该错误。也许它也适用于其他人:P
安装根/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
这是一篇旧帖子,但这是我发现唯一有效的方法。
嗨,我的问题是我的客户没有问我是否认出了钥匙。打开终端并完成ssh -T git@github.com
工作。终端的响应询问我是否要添加密钥,我说是的,然后我的客户工作正常
一个简单的解决方案是从 github/gitlab 中删除旧的 ssh 密钥并再次添加相同的密钥。这很容易解决,您必须为任何事情烦恼
我在 Ubuntu 上与 Pycharm 有同样的问题,解决方案是使用 https 而不是 SSH,例如: https ://github.com/Bedo1212/myrepo.git
如果您使用的是 SSH,请确保您使用的是允许 SSH 的网络。大多数公共网络仅允许 HTTP(S) 流量。
我遇到了类似的问题,直到我意识到,我正在通过代理地址运行我的机器以进行 Internet 连接,并且它恰好关闭了主机连接。这也可能是少数几个原因之一。