M24打通与连接
怎么让工具真的能操作服务器、仓库和外部系统
学完能画出「谁能对什么做什么」的连接图,并把权限削到最小
01为什么重要
打通的反面不是「没打通」,是「打得太大」。给一个全权 token 最省事,但出事时既查不出是谁做的,也收不回来。
02要讲清的 4 件事核心要点
- 三种打通:SSH(工具→服务器)、Deploy Key 与 Token(工具→仓库)、MCP(工具→外部服务)
- 分清「能读」与「能写」:先给只读,确实需要再放写权限
- 权限边界:部署密钥只能推代码、不能改 nginx;运维账号不做日常部署
- 凭据放在环境变量或密钥库,不放代码、不进截图
03照着做:4 步操作顺序
- 画连接图:工具 → 服务器 / 仓库 / 外部服务
- 先只给只读凭据
- 写清权限边界:能做什么、不能做什么
- 用只读凭据试写,确认被拒
ssh -T git@github.com # 只读凭据下 push 会被拒,这就是边界 ssh -T git@github.com "echo read-only ok" git push --dry-run # 预期:permission denied
04产出物与验收做完怎么算过
产出物
一张连接图 + 一份权限边界表
验收判据
可验用只读凭据跑一次,确认写操作被拒
05练习15 分钟内可做完
给同一个仓库配一把只读 Deploy Key,验证它不能 push。
06最容易踩的坑
图省事全用 root 加全权 token,出事查不出是谁做的
后果:部署密钥同时能改 nginx 配置,一次误操作就把同机的别的站带下线。
07自检表进度存在本机浏览器
0 / 6
08本讲术语全部 28 条
- Deploy Key:只对单个仓库有效的部署密钥,通常设为只读。
- MCP:一种让工具连接外部系统的标准接口:把仓库、云平台、文档服务接成可调用的能力。
- 打通:本文档的概念:让工具具备对某个外部系统的实际操作权限,并明确这份权限的边界。