当前位置: 首页 > web >正文

【Git】连接github时的疑难杂症(DNS解析失败)

        大家好,我是jstart千语。最近在将项目推送到github的时候,突然github就拒绝访问了,即使挂了VPN,网页也进不去,通过git也不能把代码推送上去。

        即使后面看别人的一些解决方案,比如取消代理啊、更换ssh的方式、该22端口号为443等等,通通都解决不了。

具体报错如下:

使用https的方式推送:

fatal: unable to access 'https://github.com/js***018/qi*********ackend.git/': Failed to connect to github.com port 443 after 21031 ms: Couldn't connect to server

改用SSH的方式推送: 

ssh: connect to host ssh.github.com port 22: Connection refused
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.

改用443端口也报了这个错误: 


ssh: connect to host ssh.github.com port 443: Connection refused
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.

后面通过更改host文件

添加了一些git配置,结果:github网页可以正常访问,但本地代码还是推送不上去

秘钥正常运行情况

使用命令

ssh-add -l  # 查看已加载密钥
ssh-add ~/.ssh/id_rsa  # 手动加载密钥

报错:

Could not open a connection to your authentication agent.

这表明 SSH 认证代理(ssh-agent)没有正常运行。ssh-agent 用于管理 SSH 私钥,在使用 ssh-add 命令时需要它处于运行状态。

使用命令解决: 

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

 但最终还是不能成功推送代码上去


连接github的debug日志

使用命令:

ssh -T git@github.com -v  # -v参数显示详细过程

报错信息:

OpenSSH_9.7p1, OpenSSL 3.2.1 30 Jan 2024
debug1: Reading configuration data /c/Users/28435/.ssh/config
debug1: /c/Users/28435/.ssh/config line 1: Applying options for github.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to ssh.github.com [127.0.0.1] port 443.
debug1: connect to address 127.0.0.1 port 443: Connection refused
debug1: Connecting to ssh.github.com [::1] port 443.
debug1: connect to address ::1 port 443: Connection refused
ssh: connect to host ssh.github.com port 443: Connection refused

调试信息来看,问题出在 SSH 客户端尝试连接 ssh.github.com 的 443 端口时,却连接到了本地回环地址 127.0.0.1(IPv4)和 ::1(IPv6),并且连接被拒绝,这通常意味着 DNS 解析出现了错误


解决:

一、清除host相关错误配置

hosts 文件位于 C:\Windows\System32\drivers\etc\hosts。你可以使用文本编辑器(需以管理员身份运行)打开该文件,查看是否存在关于 ssh.github.com 的错误配置。若有,将其删除或注释掉。

二、更改 DNS 服务器

使用公共 DNS 服务器,如 Google 的 DNS(8.8.8.8 和 8.8.4.4)或者阿里云的 DNS(223.5.5.5 和 223.6.6.6)。

Windows系统:

打开 “控制面板”,选择 “网络和 Internet” -> “网络连接”。(或直接搜索“网络连接”)
右键点击你正在使用的网络连接,选择 “属性”。
在 “此连接使用下列项目” 列表中,选中 “Internet 协议版本 4 (TCP/IPv4)”,然后点击 “属性”。
选择 “使用下面的 DNS 服务器地址”,输入公共 DNS 服务器地址。

macOS 系统

  • 打开 “系统偏好设置”,选择 “网络”。
  • 选择你正在使用的网络连接,点击 “高级”。
  • 在 “DNS” 选项卡中,点击 “+” 号添加公共 DNS 服务器地址。

总之,进入类似这样的界面:

 具体更改情况:


验证是否解决:

再次输入命令:

ssh -T git@github.com -v  # -v参数显示详细过程

日志:


尝试推送代码:成功

http://www.xdnf.cn/news/2037.html

相关文章:

  • 通过API接口在自己的独立站系统上架商品信息。(实战案例)
  • 1.9软考系统架构设计师:优秀架构设计师 - 超简记忆要点、知识体系全解、考点深度解析、真题训练附答案及解析
  • uniapp-商城-38-shop 购物车 选好了 进行订单确认4 配送方式1
  • 12.ArkUI Scroll的介绍和使用
  • 制作一款打飞机游戏22:表格导出
  • Mysql唯一性约束
  • 重生之--js原生甘特图实现
  • 从LLM到AI Agent的技术演进路径:架构解析与实现逻辑
  • 图解YOLO(You Only Look Once)目标检测(v1-v5)
  • QuecPython+GNSS:实现快速定位
  • Kafka Tool(Offset Explorer)国内下载: Kafka可视化连接工具
  • Vue选项式 API 与组合式 API
  • Docker容器持久化
  • 认识 Linux 内存构成:Linux 内存调优之页表、TLB、缺页异常、大页认知
  • Ubuntu中的防火墙工具
  • 实战!银河麒麟 KYSEC 安全中心执行控制高级配置指南
  • 苹果新规生效:即日起不再接受iOS 17 SDK编译的应用提交
  • BEVPoolv2:A Cutting-edge Implementation of BEVDet Toward Deployment
  • 16.ArkUI Toggle的介绍和使用
  • UML 活动图详解之网络媒体教学系统活动图分析
  • Memcached 主主复制架构搭建与 Keepalived 高可用实现
  • OpenCV 图形API(64)图像结构分析和形状描述符------在图像中查找轮廓函数findContours()
  • vue2实现Blod文件流下载
  • 使用ACME给动态域名下的Synology NAS免费申请SSL证书(无需开放80/443端口)
  • Docker拉取镜像代理配置实践与经验分享
  • 「Java EE开发指南」如何使用MyEclipse的可视化JSF编辑器设计JSP?(一)
  • SQLAlchemy 2.x 异步查询方法比较
  • Android 14 修改侧滑手势动画效果
  • xfce桌面汉化设置
  • 【防火墙 pfsense】2配置