【GitHub】用SSH方式push代码到GitHub,详细教程

❓前言:按照传统方式推送,发生错误

之前推送的代码和笔记都存放在国内的Gitee中,作为小白第一次使用GitHub,然而遇到了一些问题。

如果用国内Gitee的方式命令如下
Gitee上创建仓库https://XXXXXXXXX.git
本地初始化git init
拉取代码git clone https://XXXXXXXXX.git
添加远程仓库地址git remote add origin <地址>
设置当前分支为 mastergit branch -M master
添加全部文件并提交git add .
git commit -m “first commit”
推送到 Gitee 的 master 分支git push -u origin master

我按照以上流程操作github,出现如下报错:

$ git push -u origin master
fatal: unable to access 'https://github.com/AlgorithmBingo/Java.git/': Failed to connect to github.com port 443 after 21076 ms: Couldn't connect to server

也就是这表示 Git 无法通过 HTTPS 的 443 端口连接 GitHub,墙的问题。


思考我的现状,排查原因,列出可能的问题,逐一解决:

我的目前方式可能的原因建议操作
代理 + VPN 访问 GitHub代理/VPN配置没作用,或Git没有走代理,或公司网络限制设置 Git 专用代理 或换用 SSH
报端口443超时1. 网络被封锁(公司屏蔽HTTPS)
2. Git未走代理/VPN
3. 代理/VPN服务不可用
尝试 curl https://github.com 检查连通性;配置 Git 代理或换网络
用 HTTPS 远程地址 https://github.com/...走的是 443 端口,容易被拦截改成 SSH 地址 git@github.com:... 避免443限制
Git push/pull 报错端口被拦截 / 未认证 / 没配置代理 / 未设置 SSH配置 Git 代理或设置 SSH Key 并换成 SSH 地址
浏览器能访问 GitHub,但 Git 不行Git 未走系统代理;命令行网络不同配置 Git 代理,或 Git 使用 SSH 协议
在公司内网公司限制 GitHub 域名或端口用手机热点测试确认,再决定是否走 SSH + 自建代理方案

于是有了以下操作,详细步骤一步步来,防止因为小细节发生错误:


✅ 现在的目标是:

把 Git 从 HTTPS(容易被限制) 改成 SSH(更稳定)


🧩 一、生成 SSH Key(只做一次,没生成过才需要)

  1. 打开 Git Bash 或 CMD,执行:

    ssh-keygen -t ed25519 -C "你的GitHub邮箱"
    

    如果你用的是旧系统不支持 ed25519,可用 rsa

    ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱"
    

    如图:
    在这里插入图片描述

  2. 当提示输入保存路径时,直接回车,默认保存到:

    C:\Users\你的用户名\.ssh\id_ed25519
    
  3. 连续回车三次(不设密码也没问题):直到出现这样的图标
    在这里插入图片描述


🧩 二、添加 SSH Key 到 GitHub

  1. 查看公钥内容(复制下面这个文件的内容):

    cat ~/.ssh/id_ed25519.pub
    

    或 Windows 命令行:

    type %USERPROFILE%\.ssh\id_ed25519.pub
    

    在这里插入图片描述

  2. 登录 GitHub → 右上角头像 → Settings → 左侧 SSH and GPG keys
    在这里插入图片描述
    在这里插入图片描述

  3. 点击 New SSH key

    • Title:随便写(如“My Laptop”)
    • Key:粘贴你刚才复制的公钥内容(从 ssh-ed25519 开头)
      在这里插入图片描述

🧩 三、修改你的 Git 项目的远程地址为 SSH

  1. 进入你的项目目录:

    cd 你的项目路径
    
  2. 设置远程地址为 SSH(你问的对,就是这个):

    git remote set-url origin git@github.com:AlgorithmBingo/Java.git
    

    在这里插入图片描述

  3. 验证是否设置成功:

    git remote -v
    

    输出应该是:
    在这里插入图片描述


🧪 四、测试是否通了

ssh -T git@github.com

第一次会提示是否连接,输入 yes,如果看到:Hi XXX!说明 SSH 成功连上 GitHub。

在这里插入图片描述


🚀 五、推送代码

git push -u origin master

在这里插入图片描述

成功!
在这里插入图片描述

就不再走 HTTPS,绕过 443 端口了。


✅总结: Gitee(HTTPS) vs GitHub(SSH)首次提交完整流程

操作步骤用 Gitee(HTTPS)方式用 GitHub(SSH)方式
🏗️ 创建远程仓库登录 Gitee → 创建仓库(获取地址如 https://gitee.com/用户名/仓库名.git登录 GitHub → 创建仓库(获取地址如 git@github.com:用户名/仓库名.git
🖥️ 本地初始化git initgit init
🌍 添加远程地址git remote add origin https://gitee.com/用户名/仓库名.gitgit remote add origin git@github.com:用户名/仓库名.git
基本上只有这里换了
🛠️ 设置当前分支git branch -M mastergit branch -M master
📦 添加并提交代码git add .
git commit -m "first commit"
git add .
git commit -m "first commit"
🚀 推送到远程仓库git push -u origin mastergit push -u origin master
🔐 特别准备需要先配置 SSH Key(只做一次)
ssh-keygen → 添加到 GitHub
🧪 测试远程连通性可选:git ls-remote origin必须测试 SSH:ssh -T git@github.com,看到 Hi 用户名! 代表成功

🚧 注意事项对比

对比项Gitee(HTTPS)GitHub(SSH)
是否易被墙很少被墙HTTPS容易被墙,SSH更稳定
是否需要代理不需要HTTPS需代理/VPN,SSH基本能通
是否需设置SSH Key不需要需要一次性配置 SSH Key
适合初学者程度非常友好初学者需跟教程操作,稍复杂但稳定

✨ありがとう、さようなら〜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小狗只是喜欢你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值