fatal: Authentication failed could not read from remote repository

Posted x_k

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fatal: Authentication failed could not read from remote repository相关的知识,希望对你有一定的参考价值。

Git 无法clone、pull、fetch

异常:

fatal: could not read from remote repository
fatal: Authentication failed for 'http://git.example.com/example/master.git/'

所在公司使用Git版本管理工具,由于以前用的都是SVN,所以不是很熟悉,公司用一个Git账号,个人有一个GitHub账号,我就想配置两套账号,然后就出现了上面的异常。

出现异常之前

配置好了Git的SSH,相应的地方添加了Key。
Git Bash处于当前Git目录下

ssh-keygen -t rsa -C “example@163.com”

然后找到C:\\Users\\Administrator.ssh\\id_rsa.pub,将里面的Key添加到Git SSH Key中,然后我发现使用的时候还是需要输入账号密码(因为我之前用Eclipse通过http下载的源码),也没有深究为什么还要输入账号和密码。

配置多Git账号

1.生成SSH,及上面的命令,注意”id_rsa.pub”这个是默认名,记得改。我的是 “id_rsa_github.pub”
2.添加自己的config文件,在同一目录下

Host github.com
    HostName github.com
    User xukai
    IdentityFile ~/.ssh/id_rsa_github
Host git.example.com
    HostName git.example.com
    User xukai1
    IdentityFile ~/.ssh/id_rsa

3.切换到SSH协议
GitHub的Repository我是在本地电脑通过GitHub Desktop创建的。走的也是http协议,修改为SSH

git remote -v   //查看详细
git remote set-url origin https://github.com/USERNAME/REPOSITORY_2.git
ssh -T git@github.com

最后一行是测试SSH是否配置成功,成功会显示username。

出现异常

通过上面的GitHub测试,我打算把公司账号Git的问题解决一下,将协议切换到SSH,然后pull,就出现了标题上的问题,开始以为是因为我配置了两个账号的问题,然后把两个账号的配置文件ctrl+x,backup。
从头来过,重新配置SSH,生成Key,添加Key,pull,不行,clone,不行;
重启电脑
从头来过,重新配置SSH,生成Key,添加Key,pull,不行,clone,不行。崩溃了~
测试了一下

ssh -T git@git.example.com

我的账号显示Welcome,SSH配置是对的!
使用GitHub Desktop进行clone,pull都没问题,于是我怀疑了Git Bash了。

解决

原因是因为Git for Windows这个软件的Bug。Cannot pull/fetch/clone/push with Git for Windows 2.14 over SSH
升级软件就好了。

git --version   // 查看当前Git Bash版本

我的之前是git version 2.14.1.windows.0
下载了一个新版本git version 2.14.1.windows.1,完美运行~
官方链接:Gitlab
其他:
https://stackoverflow.com/questions/45532727/unable-to-clone-pull-push-a-repository-with-git-for-windows-2-14-over-ssh
https://stackoverflow.com/questions/29588258/gitlab-shell-disallowed-command
*Git For Windows开源的

以上是关于fatal: Authentication failed could not read from remote repository的主要内容,如果未能解决你的问题,请参考以下文章

fatal: Authentication failed for码云的解决办法

fatal: Authentication failed

解决$ git clone fatal: Authentication failed

git push 遭遇 fatal: Authentication failed

fatal: Authentication failed for 'http://git

GIT中fatal: Authentication failed的问题