云计算百科
云计算领域专业知识百科平台

零服务器免备案!用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” 等问题
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » 零服务器免备案!用Gitee代理+GitHub Pages搭建个人博客:绕过443端口封锁实战记录
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!