推送报错403怎么办?vscode推送项目到github

vscode推送项目到github,本地仓库和远程仓库已经绑定,最后一步推送始终报错怎么解决。

  • 知其然:代理 + HTTPS = 必 403,SSH + 密钥 = 一劳永逸

  • 知其所以然:共享代理 IP 被 GitHub 风控封禁,SSH 走 22 端口 + 密钥配对,彻底绕过 IP 检测

  • 适用人群:野生程序员、非专业开发者、被墙折磨的散修

问题复盘:

我正在做一个 AI 合同生成系统 (暂命名为"合同时空"),代码写在本地 E:\AIGC_design\hetong,用 VS Code 开发。 作为一个 野生程序员,没团队、没框架、没规范,纯靠热情和自学。

今天想把项目推到 GitHub 上,仓库已建好:https://github.com/xxx/hetong_20251027.git。

第一次尝试:VS Code 一键 Publish → 直接报错

Git: fatal: unable to access 'https://...': Failed to connect to 127.0.0.1 port 10090...

→ 我以为:网络问题,代理没开。

第二次尝试:配置代理(第三方"表格云"工具)

→ 测试 curl -x http://127.0.0.1:10090 https://api.github.com

超时,连不上

我以为:端口错了,或者代理没开 LAN。

第四次尝试:切换到 Grok(xAI 的 AI)

Grok 说:

"你代理能上网,但 GitHub 403,说明 出口 IP 被封。 别折腾代理了,上 SSH。"

→ 第一次听到 "节点不干净" 这个说法

→ 第一次知道 "可以用 SSH 绕过"

第五次尝试:换成 Clash for Windows(标准 7890 端口)

配置:

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

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

测试:

$web.DownloadString("https://api.github.com")

返回 403 Forbidden

真相大白

不是我配置错,是节点 IP 本身被 GitHub 拉黑!

成功方案:SSH 密钥配对(野生程序员菜谱,照着做 100% 成功)

核心逻辑

  • 私钥

    = 你本地的"钥匙"

  • 公钥

    = 提前放进 GitHub 的"锁孔"

  • 推送时 → 钥匙插锁 → 匹配成功 → 22 端口通道开通

步骤 1:生成密钥对(本地造钥匙)

ssh-keygen -t ed25519 -C "your_email@example.com"

  • 提示路径 → 回车(默认 C:\Users\你的名字\.ssh\id_ed25519)

  • 提示密码 → 回车两次(不设密码,开发方便)

生成两个文件:

  • id_ed25519 → 私钥(永不外传)

  • id_ed25519.pub → 公钥(给 GitHub)

步骤 2:复制公钥

Get-Content $HOME\.ssh\id_ed25519.pub | clip

整行内容已复制(从 ssh-ed25519 开头到邮箱结尾)

步骤 3:把公钥添加到 GitHub(放锁到门上)

  1. 打开浏览器 → https://github.com/settings/keys

  2. 点击 "New SSH key"

  3. 填写:

    • Title

      : My-Laptop-2025

    • Key

      : Ctrl+V 粘贴

  4. 点击 Add SSH key

步骤 4:测试连接(敲门试锁)

ssh -T git@github.com

  • 第一次会问 yes/no → 输入 yes

  • 成功输出:

    Hi username! You've successfully authenticated...

步骤 5:切换仓库为 SSH 协议

cd E:\AIGC_design\hetong

git remote remove origin

git remote add origin git@github.com:username/hetong_20251027.git

验证:

git remote -v

步骤 6:推送代码(开门推货)

git add .

git commit -m "init: 合同时空系统,SSH 上线" --allow-empty

git branch -M main

git push -u origin main

成功后打开浏览器:https://github.com/username/hetong_20251027

以后更新:三行永不过时

git add .

git commit -m "优化合同生成"

git push

无需代理 | 无需换节点 | 无需 403

附加:.gitignore(防上传垃圾)

新建 .gitignore 文件:

相关推荐
YuePeng6 小时前
写了五年注解的低代码框架,2.0 决定让你连注解都不用写了
github·产品
小白ai6 小时前
从"能 ping 通吗"到"为什么上不了网"——我写了一个网络故障诊断引擎
github
徐小夕8 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
齐翊10 小时前
分享一个在 Claude Code 里 [同时] 用多个 ApiKey 的方法
程序员·github·agent
A_Lonely_Cat10 小时前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
xn713311 小时前
ChatGPT 生图如何自动导入 Astro 内容站:base64 桥接、frontmatter 更新和封面校验
chatgpt
极光技术熊1 天前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
gptAI_plus1 天前
用 React + TypeScript 写一个世界杯淘汰赛对阵树组件
chatgpt·openai
用户39483951075531 天前
怎么让我的 Agent 真正"懂"我?——关于记忆、经验学习与预测的一些真实体验
github
远航_1 天前
git submodule
前端·后端·github