ssh: connect to host github.com port 22: Connection refused fatal: Could not read from remote repository.之前github的ssh的公私钥已经配置好,并可以正常使用,可没过多久,有一天突然报错:
原因
git 远程仓库两种协议:ssh,https。
 在解决问题之前,先要了解git远程仓库的两种协议连接。
ssh连接github方法
ssh协议连接github
 1.在git的命令行,输入
$ ssh-keygen -t rsa -C "[email protected]"
- 1
 
然后就会在用户的.ssh下生成了两个SSH Key的秘钥对,
 id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥。
2.将公钥配置在github上
 设置里找到?

打开本地的id_rsa.pub(公钥),将内容复制进去即可。
3.github端配置完毕后,看本地的git 如何添加远程仓库:
第一步,查看当前git的远程仓库版本:
 git remote -v
- 1
 
此时若什么都没有显示说明,git无远程仓库。
第二步,添加ssh协议的远程仓库:
 git remote add origin [email protected]:Itfuture-zifeiYu/ZifeiChat.git 
- 1
 
4.再次输入git remote -v 查看
$ git remote -v
origin  [email protected]:Itfuture-zifeiYu/ZifeiChat.git (fetch)
origin  [email protected]:Itfuture-zifeiYu/ZifeiChat.git (push)
- 1
 - 2
 - 3
 
说明连接成功!
问题解决方案
出现报错是使用ssh协议,很明显,ssh协议可能被禁掉了(原因可能是公私钥失效,泄露,或者当前所在网络限制等),只能换一种连接进行合并本地仓库了。继续往下看另一种协议。
切换成 https协议连接github
1.移除掉远程仓库的配置:
git remote rm origin
- 1
 
2.重新添加新的远程仓库,以https的形式:
git remote add originhttps://github.com/Itfuture-zifeiYu/ZifeiChat.git
- 1
 
再次查看:
$ git remote -v
origin  https://github.com/Itfuture-zifeiYu/ZifeiChat.git (fetch)
origin  https://github.com/Itfuture-zifeiYu/ZifeiChat.git (push)
- 1
 - 2
 - 3
 
再次尝试pull代码,成功!
                                    
评论记录:
回复评论: