Git克隆无法工作-错误443

10
我正在家里工作,尝试从Github克隆一个仓库,但是出现了以下错误:

我正在家里工作,尝试从Github克隆一个仓库,但是出现了以下错误:

git clone https://github.com/account/repo.git

还尝试过

git clone git://github.com/account/repo.git

Error: Failed connect to github.com:443; No error while accessing https://github.com/account/repo/info/refs?service=git-upload-pac
fatal: HTTP request failed

我甚至尝试使用SSH,但收到了以下信息:

ssh: connect to host github.com port 22: Bad file number fatal: could not read from remote repository.

我已经在我的笔记本电脑上成功克隆了它,所以我知道我有正确的权限,我只需要帮助找出为什么我的台式机会出现这种情况,而且似乎所有其他建议都没有用。

  • 我没有使用代理。
  • 我也无法对其他已存在的存储库进行拉取。

编辑好的,我运行了建议的命令,以下是结果:

$ ssh -i ~/.ssh/id_rsa -vvv git@github.com
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug2: ssh_connect: needpriv 0
debug1: Connecting to github.com [204.232.175.90] port 22.
debug1: connect to address 204.232.175.90 port 22: Not owner
ssh: connect to host github.com port 22: Bad file number
任何建议?

你使用的命令行是什么? - John Szakmeister
6
443不是一个错误代码,它是https协议的端口号。 - Keith Thompson
请发布以下命令的输出:ssh -i ~/.ssh/id_rsa -vvv git@github.com。如有需要,请使用有效的Github密钥替换id_rsa - Andrejs Cainikovs
我没有使用代理 - 至少我知道的是这样。如果有任何帮助可以告诉我在哪里检查这个问题,我将不胜感激。 - gregwhitworth
可能是 GitHub - HTTPS 访问 的重复内容。 - Praveen
显示剩余6条评论
3个回答

4
我知道这可能很一般,但我决定想要得到答案,所以这是我所做的,现在它可以正常工作了:
  • 通过Windows卸载了所有git客户端(最初为测试安装了几个)
  • git安装基本的git bash
  • 关闭智能屏幕,并确保防火墙和防御者处于关闭状态(它们已经关闭了)

再次尝试,现在它可以工作了。我最好的猜测是某些地方存在配置错误-可能是一个错误的密钥(不确定发生了什么,因为我已经更新了它)。无论如何,它正在工作。这可能是核心选项,但我希望这可以帮助其他遇到此问题的人。


当您最初遇到问题时,防火墙和防御程序是否已关闭?似乎端口443和端口22都被阻止了。另请参见https://dev59.com/k2w05IYBdhLWcg3wmC6_。 - Wade Williams
不,我倒是希望能解决这个问题,但事实上这是最奇怪的事情。即使使用netstat检查端口也没有被占用,无论我做了什么。这只是一种非常棘手的问题。我刚刚又遇到了同样的问题,没有改变任何东西,重新启动后它又开始工作了。我想我可能需要好好清理一下。 - gregwhitworth
如果有疑问,就将其删除并重新从新系统/安装开始。 - Wade Williams
1
太过技术化了!有没有其他替代的解决方法?你的答案可能不适用于所有人。卸载时流程太长。 - David Dimalanta

3
通常这意味着您的网络受代理服务器保护。要配置git使用代理,请使用以下命令:
git config --global http.proxy <http[s]://userName:password@proxyaddress:port>

如果代理服务器没有用户名和密码,请使用以下命令。
git config --global http.proxy <proxyaddress:port>

git config --global http.proxy <http[s]://userName:password@proxyaddress:port> 对我来说非常好用 - Yuri
你如何找到代理地址?用户名是你的 Github 用户名吗? - Josh Zwiebel

3

我可以通过执行以下命令解决443错误:

git config --global http.proxy <proxyname:port>

1
请解释一下这个想法的背后原理,以及为什么它可能有所帮助,这样人们才能完全理解你的答案。 - SuperBiasedMan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接