零服务器免备案!用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 出错(没有报错可以跳过这一步)
- **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
- 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 无法验证身份:
- 未生成 SSH 密钥。
- 公钥未添加到 GitHub 账户。
- SSH 密钥未加载到 SSH 代理(Agent)。
- 密钥文件权限错误。
解决方案
步骤 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:
- 登录 GitHub → Settings → SSH and GPG keys。
- 点击 New SSH key,粘贴公钥内容。
- 保存并验证。
新增密钥
账号密码验证
步骤 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分支
继续提交模板,修改内容,公网访问
这里等待更新
最终效果
更多文章在下面这个号记录:
我的个人文章记录
参考资料:
- 【已解决】error: RPC failed; curl 28 Recv failure: Connection was reset_error: rpc failed; curl 28 recv failure: connectio-CSDN博客
- https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll
- 在windos中同时使用gitee与github
- https://zhuanlan.zhihu.com/p/51240503
- Git 配置代理,解决 “Failed to connect to github.com port 443” 及 “Recv failure: Connection was reset” 等问题