🔑 1. 生成 SSH 密钥对
在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 参数说明:
-t rsa
:使用 RSA 加密算法(推荐)。-b 4096
:密钥长度 4096 位(增强安全性)。-C "邮箱"
:添加注释(通常为 Git 账户邮箱)。
- 操作提示:
- 按 Enter 接受默认存储路径(
~/.ssh/id_rsa
)。 - 设置密码短语(可选但推荐,提升私钥安全性)。
- 按 Enter 接受默认存储路径(
- 生成文件:
- 私钥:
~/.ssh/id_rsa
(严禁泄露)。 - 公钥:
~/.ssh/id_rsa.pub
(需添加到 Git 平台)。
- 私钥:
⚙️ 2. 将公钥添加到 Git 平台(以 GitHub 为例)
- 复制公钥内容:
cat ~/.ssh/id_rsa.pub # 终端显示后手动复制
- 登录 GitHub → Settings → SSH and GPG Keys → New SSH Key。
- 粘贴公钥内容到
Key
字段,填写标题(如 "My PC")并保存。
🔍 3. 测试 SSH 连接
执行命令验证配置:
ssh -T git@github.com
- 成功提示:
Hi [用户名]! You've successfully authenticated...
。 - 失败排查:
- 检查公钥是否完整复制。
- 确认
~/.ssh
目录权限为700
,authorized_keys
文件权限为600
(Linux/Mac)。
⚠️ 4. 常见问题解决
- 私钥使用需密码:
若生成时设置了密码短语,每次使用需输入。可通过ssh-agent
管理:eval "$(ssh-agent -s)" # 启动代理 ssh-add ~/.ssh/id_rsa # 添加私钥(输入密码后缓存)。
- 多密钥管理:
生成时通过-f ~/.ssh/custom_name
指定文件名,并在~/.ssh/config
配置别名:Host github.com HostName github.com User git IdentityFile ~/.ssh/custom_name # 指定私钥路径。
💎 5. 最佳实践
- 密钥安全:
- 私钥权限设为
600
,禁止共享。 - 定期更换密钥(重复流程生成新密钥)。
- 私钥权限设为
- 兼容性:
- GitHub/GitLab/Bitbucket 均支持 RSA 4096 位密钥。
通过以上步骤,即可安全使用 SSH 协议操作 Git 仓库,无需每次输入密码。遇到问题可查阅平台文档或检查权限配置。