1:生成 SSH 密钥

在本地终端生成一个新的 SSH 密钥对:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

执行后,它会要求你指定文件名,按回车即可使用默认路径(~/.ssh/id_rsa),然后你会得到两个文件:

id_rsa(私钥) id_rsa.pub(公钥)

2:在 GitHub Pages 仓库中添加 Deploy Key

打开你的 GitHub Pages 仓库 xgDebug/xgdebug.github.io。 进入 Settings -> Deploy keys。 点击 Add deploy key。 title = 取个描述性标题(如 “Hugo Blog Deployment Key”)。 Key: 将上一步生成的公钥 id_rsa.pub 的内容复制粘贴进去。 勾选 Allow write access,因为需要写权限。 点击 Add key。

3:将私钥添加到 GitHub Secrets

在你的 Hugo 仓库 xgDebug/xgDebug_blog 中,进入 Settings -> Secrets -> Actions。 点击 New repository secret,创建新的密钥: Name: DEPLOY_KEY Value: 将生成的私钥 id_rsa 的内容粘贴进去。

4:更新 GitHub Actions 配置

在 .github/workflows/gh-pages.yml 中使用 DEPLOY_KEY 进行身份验证:

name: Deploy Hugo Site to GitHub Pages

on:
push:
branches: - master

jobs:
deploy:
runs-on: ubuntu-latest
steps: - name: Checkout repository
uses: actions/checkout@v3

    - name: Set up Hugo
      uses: peaceiris/actions-hugo@v2
      with:
        hugo-version: 'latest'

    - name: Install Hugo themes
      run: git submodule update --init --recursive

    - name: Build Hugo site
      run: hugo --minify

    - name: Deploy to GitHub Pages
      uses: peaceiris/actions-gh-pages@v3
      with:
        deploy_key: ${{ secrets.DEPLOY_KEY }}
        publish_dir: ./public
        external_repository: xgDebug/xgdebug.github.io
        publish_branch: gh-pages