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

一次“连镜像都被 RST”的 GitHub push 填坑笔记

环境
系统:Windows 10 + Git 2.42.0
网络:出租屋房东路由(普通宽带,无内网域名)
工具:Clash(仅 HTTP 7890 端口,无 SOCKS5 7891)
仓库:github.com/xxx.git
现象
git push 报

OpenSSL SSL_connect: Connection was reset in connection to github.com:443

curl 走代理 200 正常,说明 Clash 隧道通,但 TLS 握手被随机 RST。
换 hub.fastgit.org 镜像同样 RST → 证明出口 IP 本身被 QoS/污染。
排查时间线
① 确认 Git 代理

git config --global http.proxy  http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

② 验证代理端口

curl -I https://github.com --proxy http://127.0.0.1:7890

显示

→ HTTP/1.1 200 Connection established

③ 尝试 SOCKS5 发现 Clash 未开 7891 → 回退 HTTP
④ 换订阅/节点依旧 RST → 确认不是单节点问题
⑤ 改 SSH over 443(终极方案)
新建/修改 ~/.ssh/config

Host github.com
HostName ssh.github.com
Port 443
User git

显示公钥并复制

cat ~/.ssh/id_rsa.pub

登录GitHub
点击右上角头像 → Settings
左侧选择 SSH and GPG keys
点击 New SSH key
粘贴公钥内容
远程地址改为

ssh://git@ssh.github.com:443/xxx.git

测试SSH over 443连接

ssh -T git@github.com → 出现 “Hi guchen66!”
git push -u origin master → 秒推成功
结论
当「代理隧道通却反复 RST」时,再换节点已无意义;
SSH 443 是 GitHub 官方中继,几乎不被 RST,可当作最后逃生通道;
整个过程零重装、零换机,仅改 SSH config 与 remote URL 即可

记录

想走 SSH(443 端口)

git remote set-url origin ssh://git@ssh.github.com:443/user/repo.git

想走 HTTP(需代理)

git remote set-url origin https://github.com/user/repo.git

.ssh/config 里的 Port 443 只对 SSH 生效,当你用 HTTPS 地址时,Git 根本不会读这个文件,

本地 .ssh/config 的影响范围

地址以 ssh:// 或 git@ 开头 → 由 .ssh/config 接管(端口、密钥、用户名)。
地址以 https:// 开头 → 完全跳过 .ssh/config,只看 http.proxy / https.proxy。

如果github突然上不去

Windows PowerShell 管理员权限执行:
注意:中文系统用 "以太网" / "WLAN",英文系统用 "Ethernet" / "Wi-Fi"。
改完立刻刷新 DNS,再开浏览器试 GitHub

netsh interface ip set dns "以太网" static 8.8.8.8
netsh interface ip set dns "WLAN" static 8.8.8.8
ipconfig /flushdns

使用bat命令打开host

@echo off
explorer %windir%\System32\drivers\etc

管理员权限修改

140.82.113.4  github.com
140.82.114.36 ssh.github.com

以后想改回来

当前 WLAN(无线网卡)的 DNS 服务器地址恢复成“自动获取”

netsh interface ip set dns "WLAN" dhcp

是Google 公共 DNS(8.8.8.8)是什么

Google 在全球任播节点提供的免费域名解析服务
特点:
– 响应快(国内虽绕路,但缓存大、命中高)
– 不劫持、不插入广告
– 支持 DNS-over-HTTPS(DoH)和 DNSSEC
地址:
– 主:8.8.8.8
– 备:8.8.4.4
– IPv6:2001:4860:4860::8888

什么时候一定要改回自动 DNS

车间/公司里有 .local / .corp / .mes 这类内网域名——它们只能由车间 DNS 解析
某些 MES、PLC 网关、打印机 Web 管理页用 “短名字”(如 http://scada1)——也依赖内网 DNS;
发现 ping 内网机器名不通,但 ping IP 正常 → 立刻改回 DHCP 让网卡拿回车间 DNS。

http://www.agseo.cn/news/669/

相关文章:

  • 分布式事务seata
  • 内容
  • 你的项目一团糟-不是你的错-是框架的锅
  • 【神器 Collection】mermaid:编程语言自动生成流程图
  • CF2138D
  • QBot - *--_
  • 222
  • 1111
  • Codeforces Round 1048 (Div. 2)
  • 为Unity开发者准备的虚幻引擎指南
  • mtgsig1.2 4.03 分析
  • 世界最顶级的游戏网络联机框架——NetCode for Entity
  • 《Python 操作 PDF 文件的常见方法-PDF转Word(附在线工具推荐)》
  • 理解Redis线程模型
  • 内核知识地图
  • Prometheus监控harbor仓库
  • kubernetes集群重置部署
  • 文件不只是数据-一份稳健的文件处理指南
  • 第一次作业
  • freeRTOS的信号量,是不是有点像中断
  • 【去日本玩了2】跟随空色轨迹一起去日本演出(2025年)
  • weston 桌面使用及工作架构
  • 滑动窗口
  • helm 部署 prometheus
  • windows将服务器文件夹映射到windows本地
  • assert 调试断言用法详解
  • [huggingface] huggingface 有和 `git clone` 一样方便的命令
  • 基础操作指令
  • buildroot 工具使用问题
  • 计数杂题选刷 Part II