核心是通过ssh密钥实现免密安全连接:先安装最新git并配置user.name/user.email,再生成ed25519密钥、启动ssh-agent添加私钥至钥匙串,最后上传公钥到平台并用ssh -t测试连通。
在 macos 上用 git 管理代码仓库,核心是让本地 git 通过 ssh 密钥安全、免密地连接 github、gitlab 或 gitee 等平台。只要密钥配对正确、公钥已上传、git 用户信息齐全,后续 clone、push、pull 都能自动完成身份验证。
确认 Git 已安装并设置基础身份
Git 不是 macOS 自带组件(系统自带版本老旧,如 2.15),建议安装最新版:
- 终端运行 git --version 查看当前版本;若提示 command not found,需安装
- 推荐用 Homebrew:先装 Homebrew(/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"),再执行 brew install git
- 设置全局用户名和邮箱(必须与 GitHub 账号注册邮箱一致):
git config --global user.name "YourName"
git config --global user.email "youremail@example.com" - 用 git config --list 确认两项已写入
生成并管理 SSH 密钥(优先选 ed25519)
ed25519 是当前最安全、最轻量的密钥类型,macOS 10.15+ 均支持:
使用 `gh` CLI 与 GitHub 交互。通过`gh issue`、`gh pr`、`gh run` 和 `gh api` 管理 issue、PR、CI 运行以及高级查询。
- 先检查是否已有密钥:ls -al ~/.ssh,看是否存在 id_ed25519.pub 或 id_rsa.pub
- 若无,生成新密钥:ssh-keygen -t ed25519 -C "youremail@example.com"(邮箱务必与上一步 git config 一致)
- 回车接受默认路径 ~/.ssh/id_ed25519;建议设密码短语(passphrase),增强本地私钥防护
- 生成后,执行 ls -al ~/.ssh 确认出现 id_ed25519(私钥)和 id_ed25519.pub(公钥)
启动 ssh-agent 并把私钥加入钥匙串
这一步让 macOS 记住你的私钥密码,避免每次 Git 操作都重复输入:
- 启动代理:eval "$(ssh-agent -s)"
- 将私钥添加进 agent,并存入系统钥匙串(持久化):
macOS Monterey(12.0)及以上:ssh-add --apple-use-keychain ~/.ssh/id_ed25519
macOS Catalina(10.15)及更早:ssh-add -K ~/.ssh/id_ed25519 - 如果提示 “Could not open a connection to your authentication agent”,请先确认上一步 eval 是否成功执行
上传公钥到代码平台并测试连接
公钥是你给 GitHub/GitLab/Gitee 的“门禁卡”,必须准确上传才能授权访问:
- 复制公钥内容:cat ~/.ssh/id_ed25519.pub | pbcopy(自动复制到剪贴板)
- 登录 GitHub → Settings → SSH and GPG keys → New SSH key → 粘贴内容,Title 可填 “MacBook Pro” 类描述
- 测试是否连通:ssh -T git@github.com,首次会提示确认 host key,输入 yes;成功返回类似 “Hi username! You've successfully authenticated…” 即表示配置完成
- 私有仓库拉取前,确保你已被项目管理员添加为协作者,仅凭密钥无法绕过权限控制










