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

零服务器免备案!用Gitee代理+GitHub Pages搭建个人博客:绕过443端口封锁实战记录

#GitHub Pages #Gitee代理 #SSH密钥管理 #Jekyll博客 #网络穿透

场景:自己的电脑没有添加github的ssh代理,只有gitee的代理

实现效果,在公网可以运行个人博客。在本地更改内容后公网同步更新。

最开始的模板

最终实现的博客模板:

https://may16138cccccccccccccccc.github.io/

电脑端:

手机端:

环境:

  • git 已安装和配置环境
  • GitHub正常访问,已有账号
  • Gitee正常访问,已有账号

1 在github创建简易版网站模板

创建仓库

仓库名是自己的用户名+(github.io)

比如:我的名字是may,仓库名设置成may.github.io

这个后缀相当于你告诉GitHub说,自己要建一个网站了,GitHub直接给你一个域名

不用购买服务器维护,也不用国内网站ICP备案

查看部署情况

测试网站标题

测试博客框架

https://may16138cccccccccccccccc.github.io/

点击之后的跳转页面

模板下载

创建文件夹,下载想要的博客模板做准备

  • 官方说明文档

Adding a theme to your GitHub Pages site using Jekyll - GitHub Docs

  • 官方模板库

https://pages.github.com/themes/

下面是其中的4个模板

2 生成gitee和GitHub公钥

在本地电脑配置gitee和github版本控制仓库

如果你电脑上没有GitHub账号的git版本控制仓库,需要先创建账号。

我这里出错是因为:

输入 clone GitHub仓库代码报错(没有报错可以跳过这一步)

我原本电脑上绑定的是gitee国内的代码托管平台,现在需要把国外的代码托管平台页绑定。

直接clone远程GitHub 出错(没有报错可以跳过这一步)
  1. **git clone **https://github.com/May16138cccccccccccccccc/May16138cccccccccccccccc
  • 错误提示:

error: RPC failed; curl 28 Recv failure: Connection was reset fatal: expected flush after ref listing

解决方案:

$ git config --global http.sslVerify “false”

这里是网络连接不稳定,输入指令重新clone

  1. git clone https://github.com/May16138cccccccccccccccc/May16138cccccccccccccccc.github.io.git

Cloning into ‘May16138cccccccccccccccc.github.io’…

  • 错误提示:

fatal: unable to access

Failed to connect to github.com port 443 after 21071 ms: Couldn’t connect to server

解决方案1:配置文件设置,对两个仓库同时修改配置文件(没有报错可以跳过这一步)

没有连接权限,我电脑连接的是gitee而不是github。需要把GitHub加入版本控制权限。

打开git,输入下面的代码

git config --global -l    // 查看配置信息
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "2951400450@qq.com"   // 把gitee加入权限
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "2951400450@qq.com"   // 把GitHub加入权限

在config文件右键以文本形式打开,输入配置信息

# 配置信息
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.gitee# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.github
解决方案2:报错443(没有报错可以跳过这一步)

如果网络不稳定,看一下是不是自己的代理端口号和配置文件不一致。我把代理端口号改成,配置文件的端口号了。

在git输入:git config --global --edit

git clone https://github.com/你的仓库

3 配置gitee公钥

账号设置公钥

官方教程:添加公钥

SSH 公钥设置 | Gitee 帮助中心

测试公钥指令是否添加成功:验证服务器指纹是否合法
ssh -T git@gitee.com
  • 从 Gitee 官方获取指纹:访问 Gitee 帮助文档 或官方渠道,找到 Gitee 的 SSH 指纹。
  • 对比指纹:确保你看到的指纹与官方公布的完全一致
输入 <font style="color:rgb(64, 64, 64);">yes</font> 接受指纹

如果指纹匹配,输入 <font style="color:rgb(64, 64, 64);">yes</font> 确认信任服务器:

4 配置GitHub公钥

账号设置公钥

个人的头像设置这里点进去,新建公钥

测试公钥指令是否添加成功
$ ssh -T git@github.com

如果显示下面这个图片就是成功配置

报错情况(如果没报错直接跳过)

git@github.com: Permission denied (publickey).

核心原因
  • 本地 SSH 密钥未正确配置:GitHub 无法验证身份:
    1. 未生成 SSH 密钥。
    2. 公钥未添加到 GitHub 账户。
    3. SSH 密钥未加载到 SSH 代理(Agent)。
    4. 密钥文件权限错误。
解决方案
步骤 1:检查是否存在 SSH 密钥
# 查看是否有 id_ed25519 或 id_rsa 文件
ls -al ~/.ssh
  • 如果已有密钥:跳过生成步骤,直接进入步骤 3。
  • 如果没有密钥:生成新的 SSH 密钥。
步骤 2:生成 SSH 密钥(若无密钥)
# 使用更安全的 Ed25519 算法
ssh-keygen -t ed25519 -C "your_email@example.com"
  • 按回车接受默认保存路径 (<font style="color:rgb(64, 64, 64);">~/.ssh/id_ed25519</font>)。
  • 设置密码(可选,但建议增加安全性)。
步骤 3:将公钥添加到 GitHub
  • 复制公钥内容
# 针对 Ed25519 密钥
cat ~/.ssh/id_ed25519.pub
# 或 RSA 密钥
cat ~/.ssh/id_rsa.pub
  • 添加到 GitHub
    1. 登录 GitHub → Settings → SSH and GPG keys
    2. 点击 New SSH key,粘贴公钥内容。
    3. 保存并验证。

新增密钥

账号密码验证

步骤 4:启动 SSH 代理并添加密钥
# 启动 SSH 代理
eval "$(ssh-agent -s)"
# 添加私钥到代理(Ed25519 密钥)
ssh-add ~/.ssh/id_ed25519
# 或 RSA 密钥
ssh-add ~/.ssh/id_rsa
步骤 5:测试 SSH 连接
再次输入验证 调试 SSH 连接 成功响应
ssh -Tv git@github.com  # 查看详细日志
Hi username! You've successfully authenticated...

5 博客

上传刚刚下载好的博客模板复制到github仓库

先clone远程仓库
git clone -b origin https://github.com/username/myProject.git
再把下载的模板放在仓库,提交github

将你的模板代码,放到含有.git库的对应文件夹中

右键Bash

git status  ------查看提交状态
git add .      -----添加到暂存仓库
git commit -m "提交说明" 
git push origin master  ------gitee默认主分支master          gitee推送远程仓库
git push origin main -------GitHub默认主分支main             GitHub推送远程仓库
将你的代码提交就可以了
我这里测试提交一个文件_config.yml
git push origin main

部分命令说明

git clone命令可以将整个远程仓库克隆到本地,并且可以指定拉取的分支。使用-b选项可以指定要拉取的分支。例如:

$ git clone -b origin https://github.com/username/myProject.git

执行上述命令后,当前分支将是origin分支,而不是默认的master分支

继续提交模板,修改内容,公网访问

这里等待更新

最终效果


更多文章在下面这个号记录:
我的个人文章记录

参考资料:

  1. 【已解决】error: RPC failed; curl 28 Recv failure: Connection was reset_error: rpc failed; curl 28 recv failure: connectio-CSDN博客
  2. https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll
  3. 在windos中同时使用gitee与github
  4. https://zhuanlan.zhihu.com/p/51240503
  5. Git 配置代理,解决 “Failed to connect to github.com port 443” 及 “Recv failure: Connection was reset” 等问题

相关文章:

  • Spark简介
  • 纷析云开源财务软件:助力企业财务管理数字化转型
  • VMware Workstation 保姆级 Linux(CentOS) 创建教程(附 iso)
  • 学习MySQL的第十天
  • 数据结构习题--岛屿数量
  • 深入理解常见排序算法:从原理到实践
  • c++:智能指针
  • 京东3D空间视频生成技术探索与应用
  • Django视图(未分离)
  • ARINC818协议-持续
  • CSS appearance 属性:掌握UI元素的原生外观
  • 2025第十七届“华中杯”大学生数学建模挑战赛题目B 题 校园共享单车的调度与维护问题完整思路 模型 代码 结果分享
  • 冰川流域提取分析——ArcGIS pro
  • centos7 安装miniconda
  • harbor Rocky linux 9.5 Docker部署
  • oracle值sql记录
  • 【强化学习】#2 有限马尔可夫决策过程
  • TQTT_KU5P开发板教程---千兆以太网传输测试
  • Oracle补丁安装工具opatch更新报错处理
  • AI 对话高效输入指令攻略(二):关于豆包的指令
  • 做网站为什么差价很大/邳州网站开发
  • 朔城网站制作/sem推广托管公司
  • 腾龙时时彩做号官方网站/网店推广培训
  • 校园网网站建设/网页制作html代码
  • 网站建设作业指导书/seo网站排名优化服务