macOS 配置 Git 平台 SSH 连接
macOS 配置 Git 平台 SSH 连接
(适用于 Gitee、GitHub、GitLab 等所有 Git 代码托管平台)
一、核心目标
通过 SSH 密钥认证,实现 macOS 终端与任意 Git 平台(Gitee、GitHub、GitLab 等)的无密码连接,后续克隆、拉取、推送仓库时无需重复输入账号密码。
二、前置准备
- 已安装 Git(macOS 自带 Git,若未安装自行安装即可);
- 已注册目标 Git 平台(如 Gitee、GitHub)账号,并绑定常用邮箱。
三、操作步骤
1. 检查本地是否已有 SSH 密钥
操作命令
ls -la ~/.ssh 结果说明
- 若输出中包含
id_ed25519(私钥)和id_ed25519.pub(公钥),说明已有现代 ED25519 算法密钥,直接跳至步骤 3; - 若包含
id_rsa(私钥)和id_rsa.pub(公钥),说明已有传统 RSA 算法密钥,也可直接使用(跳至步骤 3); - 若未找到上述文件,需执行步骤 2 生成新密钥。
2. 生成 SSH 密钥(无密钥时执行)
推荐使用 ED25519 算法(现代标准,更安全高效),也支持传统 RSA 算法(兼容旧系统)。
方式 1:生成 ED25519 密钥(推荐)
# 替换为你的 Git 平台绑定邮箱(如 [email protected]) ssh-keygen -t ed25519 -C "你的邮箱地址"方式 2:生成 RSA 密钥(兼容旧系统)
# 替换为你的 Git 平台绑定邮箱 ssh-keygen -t rsa -b 4096 -C "你的邮箱地址"# -b 4096 表示密钥长度(越长越安全,推荐 4096 位)交互提示处理
- 提示
Enter file in which to save the key (/Users/你的用户名/.ssh/id_ed25519):→ 直接回车(使用默认路径); - 提示
Enter passphrase (empty for no passphrase):→ 直接回车(无需密钥密码,若需额外安全验证可设置密码); - 提示
Enter same passphrase again:→ 直接回车(与上一步保持一致)。
生成成功标志
终端显示密钥保存路径(/Users/你的用户名/.ssh/)和指纹信息,此时 .ssh 目录下新增:
- 私钥(如
id_ed25519或id_rsa,需绝对保密,不可泄露); - 公钥(如
id_ed25519.pub或id_rsa.pub,需上传至 Git 平台)。
3. 获取本地公钥内容
根据生成的密钥类型,执行对应命令复制公钥:
若为 ED25519 密钥
cat ~/.ssh/id_ed25519.pub 若为 RSA 密钥
cat ~/.ssh/id_rsa.pub 关键操作
复制终端输出的 完整字符串(以 ssh-ed25519 或 ssh-rsa 开头,以你的邮箱结尾),不可遗漏字符或多添加空格。
4. 在 Git 平台配置 SSH 公钥
以 Gitee 和 GitHub 为例(其他平台步骤类似):
Gitee 配置
- 登录 Gitee 官网(https://gitee.com);
- 点击右上角头像 →「设置」→「安全设置 → SSH 公钥」;
- 「标题」自定义(如「Mac 终端 ED25519」,用于识别设备);
- 「公钥」输入框粘贴步骤 3 复制的公钥字符串;
- 点击「确定」,输入平台登录密码验证,完成配置。
GitHub 配置
- 登录 GitHub 官网(https://github.com);
- 点击右上角头像 →「Settings」→「SSH and GPG keys」→「New SSH key」;
- 「Title」自定义(如「Mac ED25519 Key」);
- 「Key」输入框粘贴公钥字符串;
- 点击「Add SSH key」,验证密码或二次验证后完成配置。
5. 验证 SSH 连接是否成功
根据目标平台,执行对应命令:
验证 Gitee 连接
ssh -T [email protected] 验证 GitHub 连接
ssh -T [email protected] 首次连接处理
终端会提示服务器真实性验证(示例为 Gitee):
The authenticity of host 'gitee.com (198.18.0.56)' can't be established. ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV88. Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes 并回车(小写,仅首次连接需确认,后续不再提示)。
成功标志
终端输出类似信息(以 GitHub 为例):
Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access. 四、ED25519 与 RSA 算法对比
| 特性 | ED25519(推荐) | RSA(传统) |
|---|---|---|
| 安全性 | 更高(抗量子计算攻击潜力更强) | 较高(需足够长度,如 4096 位) |
| 密钥长度 | 较短(生成的公钥更小,传输方便) | 较长(4096 位密钥公钥体积较大) |
| 签名/验证速度 | 更快(适合高频操作) | 较慢(尤其是长密钥) |
| 兼容性 | 支持现代系统(Windows 10+、macOS 10.12+) | 兼容所有系统(包括老旧设备) |
结论:新配置优先选择 ED25519,若需兼容旧系统(如 Windows 7 或老服务器),可使用 RSA 4096 位密钥。
五、关键文件说明
| 文件路径 | 作用 | 注意事项 |
|---|---|---|
~/.ssh/id_ed25519 | ED25519 私钥 | 绝对保密,不可泄露给他人 |
~/.ssh/id_ed25519.pub | ED25519 公钥 | 可公开上传至 Git 平台 |
~/.ssh/id_rsa | RSA 私钥 | 绝对保密 |
~/.ssh/id_rsa.pub | RSA 公钥 | 可公开上传至 Git 平台 |
~/.ssh/known_hosts | 已信任的 SSH 服务器列表 | 首次连接后自动生成,无需修改 |
六、常见问题
- 公钥粘贴不完整:重新执行
cat命令,确保复制完整字符串(从算法开头到邮箱结尾); - 连接提示「Permission denied」:检查平台公钥是否与本地公钥一致,或重新生成密钥并配置;
- 密钥生成失败:确认终端路径正确,或尝试使用管理员权限(不推荐,通常无需)。
七、使用场景
配置成功后,克隆仓库时选择 SSH 地址(格式:git@平台域名:用户名/仓库名.git),即可无密码操作仓库,例如:
# 克隆 GitHub 仓库git clone [email protected]:用户名/仓库名.git # 克隆 Gitee 仓库git clone [email protected]:用户名/仓库名.git