星月 2db6918b29 fix: decouple 01-ssh-keypair from 03-gitea-tea dependency
Split SSH key setup: generate first, register to Gitea later after tea/cfg are ready
2026-04-22 20:40:22 +08:00

1.2 KiB

01. SSH 密钥对

检查

# 是否已有 ed25519 密钥
ls ~/.ssh/id_ed25519.pub 2>/dev/null && cat ~/.ssh/id_ed25519.pub

达标:存在 ~/.ssh/id_ed25519.pub,内容类似 ssh-ed25519 AAAA... name@shazhou.work

安装

# 生成密钥(替换 AGENT_NAME 为你的名字,如 xingyue / xiaomo / xiaoju)
ssh-keygen -t ed25519 -C "AGENT_NAME@shazhou.work" -f ~/.ssh/id_ed25519 -N ""

验证

密钥生成后确认文件存在即可:

ls -la ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub

注册到 Gitea(在 03-gitea-tea 和 04-cfg 完成后执行)

拿到 Gitea 账号和 GITEA_TOKEN 后,回来把公钥注册上去:

# 方法一:通过 Gitea Web UI
# 访问 https://git.shazhou.work/user/settings/keys ,添加公钥

# 方法二:通过 API
PUBKEY=$(cat ~/.ssh/id_ed25519.pub)
TOKEN=$(cfg get GITEA_TOKEN)
curl -s -X POST \
  -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  "https://git.shazhou.work/api/v1/user/keys" \
  -d "{\"title\": \"$(hostname)\", \"key\": \"$PUBKEY\"}"

验证 SSH 连接:

ssh -T git@git.shazhou.work 2>&1
# 应该返回类似: Hi AGENT_NAME! You've successfully authenticated...