git clone遇到提示远程拒绝

在使用git clone命令将远程仓库clone到本地时,遇到了Unable to connect to relay host, errno=10061的报错信息,最终查找到原因并解决。

出现问题的原因

在git clone时,使用https/ssh两种协议都会出现该报错信息,报错对应信息如下,造成的原因就是我们使用了proxy代理,与其他端口有冲突。

1
2
Failed to connect to 127.0.0.1 port 8081: Connection refused  # 使用https
Unable to connect to relay host, errno=10061 # 使用ssh

如何解决

修改代理配置,解决端口冲突。这种方法与取消操作基本一致,只是修改了相关的端口配置,并不能有效解决问题,因为通常情况下并不知道哪个端口正常,建议直接取消代理。

1.https协议代理取消
  查询git config配置,看是否有代理并取消

1
2
3
4
5
6
git config --global -l    #查询所有配置
git config --global http.proxy #查询http代理
git config --global https.proxy #查询https代理

git config --global --unset https.proxy #取消https代理
git config --global --unset https.proxy #取消https代理

2.ssh协议代理取消
  使用 ssh -vT git@github.com 可以检查否连接到了正确的服务器,并显示debug日志信息,如下图,找到 ssh/config 配置了代理

windos直接到当前用户 ssh/config 文件修改,例如我的路径 C:\Users\tpf.ssh

Linux需要vi命令编辑config文件,在ssh/config中的 Host github.com 下找到 ProxyCommand 配置并删除即可

1
2
cd ~/.ssh   #到ssh目录下
vi config #编辑config文件

参考: https://docs.github.com/en/authentication/troubleshooting-ssh/error-permission-denied-publickey


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!