M05GitHub 仓库与 SSH 打通
用密钥认证取代密码
学完能在一台新机器上从零配好推送权限
01为什么重要
密码认证在 CI 里根本没法用,自动化里更没法用。密钥认证不只是「更方便」,它是所有自动部署的前提。
02要讲清的 3 件事核心要点
- 账号 2FA;ed25519 密钥与 ssh-agent
- 账号密钥 vs Deploy Key(只读)的分工
- remote 用 SSH;.gitignore 与仓库可见性
03照着做:4 步操作顺序
- 生成 ed25519 密钥并启动 ssh-agent
- 把公钥加到 GitHub 账号
- ssh -T 验证认证通过
- 首个提交推上去,远端能看到
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:只对单个仓库有效的部署密钥,通常设为只读。
- 打通:本文档的概念:让工具具备对某个外部系统的实际操作权限,并明确这份权限的边界。