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