从 0 到上线 网站建设实训课
总览/ 课程地图/ S1 版本管理

M05GitHub 仓库与 SSH 打通

所属路径 A / B / C 第 5 / 31 讲 S1 版本管理
用密钥认证取代密码
学完能在一台新机器上从零配好推送权限

01为什么重要

密码认证在 CI 里根本没法用,自动化里更没法用。密钥认证不只是「更方便」,它是所有自动部署的前提。

02要讲清的 3 件事核心要点

  • 账号 2FA;ed25519 密钥与 ssh-agent
  • 账号密钥 vs Deploy Key(只读)的分工
  • remote 用 SSH;.gitignore 与仓库可见性

03照着做:4 步操作顺序

  1. 生成 ed25519 密钥并启动 ssh-agent
  2. 把公钥加到 GitHub 账号
  3. ssh -T 验证认证通过
  4. 首个提交推上去,远端能看到
ssh-keygen -t ed25519 -C "you@example.com"
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519
ssh -T git@github.com

04产出物与验收做完怎么算过

产出物

一个可推送的空仓库

验收判据

可验ssh -T 成功 + push --dry-run 退出码 0 + 远端可见首个提交

05练习15 分钟内可做完

删掉本地密钥重新生成一次,把整套授权流程走完。

06最容易踩的坑

在不稳的 443 环境里死磕 HTTPS remote;私钥被一起提交进仓库
后果:把私钥一起提交进仓库——等于把服务器钥匙贴在门上,还要等别人来用。

07自检表进度存在本机浏览器

0 / 6

08本讲术语全部 28 条

  • Deploy Key:只对单个仓库有效的部署密钥,通常设为只读。
  • 打通:本文档的概念:让工具具备对某个外部系统的实际操作权限,并明确这份权限的边界。