我多次收到以下错误:
无法读取远程存储库。请确保您拥有正确的访问权限并且存储库已存在。
我对如何解决此错误感到非常困惑。
答案 0 :(得分:19)
确保您在GitHub帐户和本地计算机上使用正确的SSH密钥/用户名。这是你怎么做的 do that on GitHub
此外,您可以考虑使用替代Git管理器。我从来没有听说过Aptana,但我知道GitHub有一个很棒的GUI程序来管理你的存储库。
将来,这在Linux / Unix操作系统(如Ubuntu)上更加容易和简化。 Ubuntu面向开发人员,默认情况下安装了正确的Git和SSH。
答案 1 :(得分:6)
答案 2 :(得分:5)
我与私人回购有完全相同的问题。 通过https和ssh
克隆相同的错误然后我通过github进行了提交(只用空行更新了README.md
)
令人惊讶的是,这解决了这个问题。知道为什么会这么好!
答案 3 :(得分:3)
假设您已经根据github instructions完成了正确的SSH密钥配置,那么可能是使用https进行拉取,然后使用git + ssh进行推送
使其更清晰
如果你使用https来拉
git pull https://github.com/user/repo.git
然后您更改了远程网址
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
现在你的推动工作
答案 4 :(得分:3)
ssh-add -A 在 MacOS Sierra 10.12.6 中解决了我的问题。
之前我对公共和私人回购都没有任何问题。
今天我尝试克隆或git pull for private repo,但它遇到了上述问题。
搜索后,这对我来说是完美的解决方案。
答案 5 :(得分: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
答案 6 :(得分:1)
我使用ssh在我的私有Ubuntu服务器上遇到了同样的问题。
我的解决方案是:
在我的私人服务器上打开shell
git init --bare /path/<myapp>.git
然后,来自我的开发者笔记本电脑
git push <remote_repo> <local branch>
终于运作良好。
PS:
我从未尝试过,但使用https进行远程回购似乎比ssh更好。
我希望这有帮助。
答案 7 :(得分:0)
我在使用带有 HTTPS 身份验证的 Visual Studio 的 Github 扩展时遇到了同样的问题。
以下是我解决它的步骤:
1) 在 windows 中启动命令提示符(windows 键 + R,然后键入“cmd”)(您可能应该在管理员帐户)。
2)复制/粘贴这两个命令:
git config --global url."https://github.com/".insteadOf git@github.com:
git config --global url."https://".insteadOf git://
为了验证,执行这个命令:
git config --global --edit
它将显示配置文件,它应该包含以下四行:
[url "https://github.com/"]
insteadOf = git@github.com:
[url "https://"]
insteadOf = git://
3) 转到您的浏览器并退出您的 Github 帐户。(这一步非常重要)
4) 在 Visual Studio 中,转到“视图”->“团队资源管理器”。添加该视图后,单击“管理连接”按钮,如果您已登录 Github 帐户,请退出。
5)点击“连接”按钮,然后点击“使用浏览器登录”。
6) 登录你的 Github 账号,重定向后即可设置。
答案 8 :(得分:0)
一个简单的解决方案是从github / gitlab删除旧的ssh密钥,然后再次添加相同的密钥。这很容易解决,您必须忙于任何事情
答案 9 :(得分:0)
就我而言,我生成了新的密钥对,但是却忘记了在github.com(设置)中更新公钥。
答案 10 :(得分:0)
这很简单。我已经证明了以下链接的简短的3个步骤。
eval $(ssh-agent -s)
来唤醒代理。然后,您只需添加密钥,答案 11 :(得分: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 </ p>
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
Voila
答案 12 :(得分:0)
对我来说,我遵循了Adding new ssh key中提到的所有步骤以及与此问题相关的其他辅助链接。 但是问题是网络访问。解决方案-使用VPN访问我的Github Enterprise。 (在我的案例中为github.gatech.edu的Georgia Tech VPN)
答案 13 :(得分:0)
我有一个类似的问题,直到意识到,我正在通过用于Internet连接的代理地址运行我的计算机,并且碰巧关闭了主机连接。这也可能是少数原因之一。
答案 14 :(得分:0)
嗨,我的问题是我的客户没有问我是否认识到钥匙。打开终端并执行ssh -T git@github.com
可以正常工作。终端中的响应询问我是否要添加密钥,我回答是,然后,我的客户工作正常
答案 15 :(得分:0)
如果您使用的是SSH,请确保您使用的网络支持SSH。大多数公共网络仅允许HTTP(S)通信。
答案 16 :(得分:0)
我在Ubuntu上使用Pycharm遇到了相同的问题,解决方案是使用https而不是SSH 例如 : https://github.com/Bedo1212/myrepo.git
答案 17 :(得分:0)
如果您要将任何存储库从本地推/拉到远程(git hub)
第一次结帐
$ git push https://<git-hub url>
使用用户名和passwd凭据可以正常工作
$ 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>
答案 18 :(得分:0)
如果是公共回购,只需使用https
进行克隆。无需使用密码或设置SSH密钥。
答案 19 :(得分:0)
我也有完全相同的错误,并且出于某种原因重新启动我的电脑解决了错误。也许它适用于其他人:P
答案 20 :(得分: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
这是一篇很老的帖子,但这只是他发现的有用之处。
答案 21 :(得分:0)
如果您最近更新了OSX,则必须致电ssh-add -A
。看看这个答案:https://apple.stackexchange.com/questions/254468/macos-sierra-doesn-t-seem-to-remember-ssh-keys-between-reboots