克隆GitHub代码时连接超时的问题

news/2025/2/6 15:18:05/文章来源:https://www.cnblogs.com/informatics/p/18701085

解决克隆GitHub代码时连接超时的问题

问题描述

在使用Git尝试克隆GitHub代码仓库到本地时(此前正常),遇到了以下错误:

ssh: connect to host github.com port 22: Connection timed out
Please make sure you have the correct access rights
and the repository exists.

通过执行 ssh -T git@github.com 测试SSH连接,同样出现端口22连接超时的问题。

解决方案

步骤1:检查和修改SSH配置文件

  1. 找到或创建.ssh目录
    在终端中执行以下命令打开.ssh文件夹:

    open ~/.ssh
    

    如果该文件夹不存在,表示之前没有安装过SSH且未配置SSH密钥,请参考Github配置SSH密钥。由于本文不是初次配置SSH,因此~/.ssh默认存在

  2. 创建并编辑config文件
    使用文本编辑器(如TextEdit或VS Code)创建一个名为 config 的文件(无后缀),并在其中添加以下内容:

    Host github.com
    User YourEmail  # 替换为你的GitHub邮箱
    Hostname ssh.github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    Port 443
    

以上这段配置的作用是:

  • 指定 GitHub 的 SSH 入口点:通过 ssh.github.com 和端口 443 连接。
  • 使用公钥认证:确保连接安全且无需输入密码。
  • 关联你的私钥文件:用于验证身份。

步骤2:验证配置

  1. 保存文件后,再次执行以下命令测试连接:

    ssh -T git@github.com
    
  2. 如果出现提示信息:

    The authenticity of host '[ssh.github.com]:443 ([20.205.243.166]:443)' can't be established.
    RSA key fingerprint is SHA256:...
    Are you sure you want to continue connecting (yes/no)?
    

    输入 yes 并按回车键。

  3. 成功验证后,会显示:

    Hi [YourUsername]! You've successfully authenticated, but GitHub does not provide shell access.
    

验证Git是否正常工作

经过以上步骤配置后,再次尝试克隆GitHub上的代码仓库,已经成功。

总结

如果你在克隆或者上传GitHub代码仓库碰到问题时,可以检查以下几点:

  • 确保你的 GitHub 账号已经添加了对应的公钥。
  • 确保 ~/.ssh/id_rsa 文件存在(如果不存在,请重新生成 SSH 密钥对)。
  • 确保网络环境允许通过端口 443 连接。

拓展

SSH Config配置文件中每条指令的详细解释:


1. Host github.com

  • 作用:指定这条配置仅适用于目标主机名是 github.com 的连接。
  • 含义:当使用 git clone 或其他 Git 操作连接到 GitHub 时,SSH 客户端会自动加载这一段配置。

2. User YourEmail

  • 作用:指定在连接 GitHub 时使用的用户名(这里实际上是你的 GitHub 邮箱地址)。
  • 含义:GitHub 使用 SSH 密钥进行身份验证,默认情况下需要将你的邮箱地址作为标识符。
  • 注意:你需要将 YourEmail 替换为你的实际 GitHub 登录邮箱。

3. Hostname ssh.github.com

  • 作用:指定连接的目标主机名实际上是 ssh.github.com,而不是直接连接到 github.com
  • 含义:GitHub 提供了一个专门用于 SSH 连接的入口点 ssh.github.com,通过这个地址可以更稳定地进行 SSH 操作。

4. PreferredAuthentications publickey

  • 作用:指定使用公钥认证(Public Key Authentication)作为身份验证方式。
  • 含义
    • 这是 GitHub 推荐的认证方式。
    • 表示在连接时,SSH 客户端会尝试使用本地存储的私钥(id_rsa 或其他密钥文件)来验证你的身份。

5. IdentityFile ~/.ssh/id_rsa

  • 作用:指定用于认证的私钥文件路径。
  • 含义
    • ~/.ssh/id_rsa 是默认的 SSH 私钥文件路径,通常在初次配置 SSH 密钥时自动生成。
    • 如果你使用了其他密钥文件(如 id_ed25519),需要将路径替换为实际的密钥文件名。

6. Port 443

  • 作用:指定连接 GitHub 的端口号为 443。
  • 含义
    • 默认情况下,SSH 使用端口 22 进行通信。
    • 由于部分网络环境(如公司或学校)可能限制了对端口 22 的访问,GitHub 提供了通过端口 443 连接的方案。
    • 端口 443 是 HTTPs 的默认端口,通常不会被防火墙拦截,因此可以避免连接超时的问题。

作者信息:

  • 微信公众号:密码应用技术实战
  • 博客园首页:https://www.cnblogs.com/informatics
  • GitHub地址:https://github.com/warm3snow

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/879677.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普通人做短剧需要哪些证书?

短剧行业爆火,但在制作短剧需持有相关资质,否则就属于违规经营。不管是想在各大平台宣传推广,还是想上架小程序等途径都是要求三证齐全的。 那应该先取得什么样的资质才可以开展这项业务? 第一个就是增值电信业务经营许可证—ICP许可证这是从事互联网行业的基本要求,它的申…

DeepSeek如何在资源优化时做到了性能领先?

问题:DeepSeek如何在资源优化时做到了性能领先? DeepSeek V3的Benchmark如图3所示,该图显示DeepSeek V3在主要数据集测试时超越了业界LLM同类标杆的水平,这给了业界一个初步的惊喜,尤其是训练阶段花费了少于业界LLM同类标杆十分之一的代价:图3:DeepSeek V3如何以更少资源…

【ABAP】使用vscode+cline+deepseek进行abap的开发

声明:本文主要进行的是演示,实际项目中的应用还需要大家的探索 前置条件: 1. vscode 安装abap的插件 2. 注册deepseek的api key 或者 硅基流动的 apikey (最近deepseek遭受攻击不太稳定,推荐使用硅基流动的deepseek模型)deepseek api平台硅基流动注册 3. vscode安装clin…

vxe-table 如何实现全部单元格都能拖拽调整列宽,表头和表体都支持拖拽

vxe-table 如何实现全部单元格都能拖拽调整列宽,表头和表体都支持拖拽 官网:https://vxetable.cn 效果代码 通过 resizable-config.isAllColumnDrag 启用所有单元格允许拖拽调整列宽 <template><div><vxe-grid v-bind="gridOptions"></vxe-gr…

初探集群联邦

本文分享自天翼云开发者社区《初探集群联邦》,作者:echooo 一.什么是集群联邦?集群联邦(Federation)是将多个kubenetes集群注册到统一的控制平面,为用户提供统一API入口的多集群解决方案。集群联邦设计的核心是提供在全局层面对应用的描述能力,并将联邦对象实例化为kub…

DeepSeek开源o1击毙OpenAI,强化学习惊现「啊哈」时刻!网友:AGI来了

DeepSeek开源o1击毙OpenAI,强化学习惊现「啊哈」时刻!网友:AGI来了 AI生成摘要摘要 中国版o1刷屏全网。DeepSeek R1成为世界首个能与o1比肩的开源模型,成功秘诀竟是强化学习,不用监督微调。AI大佬们一致认为,这就是AlphaGo时刻。自由讨论详情 一觉醒来,AGI就实现了?!…

多种路径规划方案,满足应用个性化导航需求

在快节奏的都市生活中,路径规划已成为日常出行的核心环节。用户无论前往何地,都期望能够迅速获取所有可能的路线,并根据预估的出行时间,轻松挑选出最适合自己的出行方案。在现代生活中,路径规划的需求无处不在,从导航应用中的个性化路线推荐,到外卖服务中的高效配送规划…

npm ERR missing script dev

没有dev脚本 看一下你的package.json 文件里面是哪个脚本 执行 npm run serve

canvas去除图片空白部分,图片裁剪

canvas去除图片空白部分实现图片的缩小,可用于vue-signature-pad 签名实现签名裁剪,图片裁剪 电子签名连接 https://blog.csdn.net/Shids_/article/details/135695601<!DOCTYPE html> <html><head><meta charset="utf-8" /><meta name=…

Avalonia系列文章之控件简介

对于GUI(图形用户页面)程序来说,控件是创建用户页面的基本构建块,不同的控件代表不同的功能,如按钮,文本框,滑块等。在Avalonia UI中,了解控件的使用及其特性对于创建应用程序至关重要。对于GUI(图形用户页面)程序来说,控件是创建用户页面的基本构建块,不同的控件代表不…

DeepSeek+AnythingLLM打造自己大模型知识库

有些用户或是专家在项目建设中提出来要提炼工艺库、模型库、算法库等知识库,可以试着让deepseek成为每个角色的助手,例如工艺的、信息化的、设备的、电气的等角色,让deepseek成为自己,再不断的迭代它。deepseek扮演AI助手的角色,应用越来越发挥出来应有的价值。 DeepSeek+…

基于 AI 的代码审计工具,支持多种语言,支持DeepSeek-R1,ChatGPT-4o等多种大模型。

免责声明 仅供安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。工具介绍基于 AI 的代码安全审计工具,支持多种编程语言的代码分析,可以帮助开发者快速发现代码中的潜在安全漏洞。支持DeepSeek-R1,ChatGPT-…