🔑 生成 SSH Key 并配置 GitHub/GitLab 详细教程
🟢 第 1 步:检查是否已有 SSH Key
在 Git Bash (Windows)、终端 (Linux/macOS) 运行以下命令:
bash
ls -al ~/.ssh
🔹 可能的输出:
- 如果已有 SSH Key(如
id_rsa
和id_rsa.pub
)
说明你已经生成过 SSH Key,可以跳到 第 4 步 直接添加到 GitHub/GitLab。 - 如果
.ssh
目录不存在或没有id_rsa
文件
说明你需要生成新的 SSH Key,请继续下一步。
🟢 第 2 步:生成新的 SSH Key
运行以下命令:
bash
ssh-keygen -t rsa -b 4096 -C "你的邮箱"
示例:
bash
ssh-keygen -t rsa -b 4096 -C "[email protected]"
🔹 参数说明:
-t rsa
:使用 RSA 算法(GitHub/GitLab 推荐)-b 4096
:生成 4096 位密钥(比默认 2048 位更安全)-C "你的邮箱"
:添加注释(通常是你的 GitHub/GitLab 绑定邮箱)
💡 系统会询问以下问题:
-
Enter file in which to save the key (
~/.ssh/id_rsa
默认回车)bashEnter file in which to save the key (/home/your-user/.ssh/id_rsa):
- 直接回车 使用默认路径(推荐)
- 如果已有密钥 ,可以换个名字,如
id_rsa_github
-
Enter passphrase(输入密码,可留空)
bashEnter passphrase (empty for no passphrase):
- 建议直接回车(否则每次使用 SSH 都要输入密码)
生成成功后,会在 ~/.ssh/
目录下创建两个文件:
~/.ssh/id_rsa # 私钥(不要分享)
~/.ssh/id_rsa.pub # 公钥(需要添加到 GitHub/GitLab)
🟢 第 3 步:启动 SSH Agent 并添加密钥
1️⃣ 启动 SSH 代理(用于管理密钥):
bash
eval "$(ssh-agent -s)"
成功时会返回:
bash
Agent pid 12345
2️⃣ 将私钥添加到 SSH 代理:
bash
ssh-add ~/.ssh/id_rsa
如果你的私钥文件名不是 id_rsa
,请修改为实际名称:
bash
ssh-add ~/.ssh/id_rsa_github
💡 如果报错:
Could not open a connection to your authentication agent
请先运行:
bash
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa
🟢 第 4 步:复制 SSH 公钥
运行:
bash
cat ~/.ssh/id_rsa.pub
🔹 复制公钥的方法:
-
Windows Git Bash:
bashclip < ~/.ssh/id_rsa.pub
-
macOS:
bashpbcopy < ~/.ssh/id_rsa.pub
-
Linux(手动复制):
bashcat ~/.ssh/id_rsa.pub
🟢 第 5 步:添加 SSH Key 到 GitHub/GitLab
🔹 GitHub:
- 打开 GitHub SSH 设置
- 点击
New SSH Key
Title
:随便填(如 "My Laptop")Key
:粘贴id_rsa.pub
里的内容- 点击
Add SSH Key
🔹 GitLab:
- 打开
Preferences
->SSH Keys
- 粘贴
id_rsa.pub
的内容 - 点击
Add Key
🟢 第 6 步:测试 SSH 连接
bash
ssh -T [email protected]
如果成功,会看到:
bash
Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.
🎉 SSH Key 配置成功!
🟢 第 7 步:设置 Git 使用 SSH 方式拉取代码
默认情况下,Git 可能还在使用 HTTPS,需要手动改为 SSH。
✅ 设置全局 Git 远程 URL 方式:
bash
git config --global url."[email protected]:".insteadOf "https://github.com/"
这样你 git clone
或 git push
就不会要求输入 GitHub 账号和密码了!
🟢 第 8 步:使用 SSH 克隆 GitHub/GitLab 仓库
💡 HTTPS 方式(需要输入密码):
bash
git clone https://github.com/your-username/repository.git
💡 SSH 方式(不需要输入密码):
bash
git clone [email protected]:your-username/repository.git
如果使用 GitLab:
bash
git clone [email protected]:your-username/repository.git
🎯 总结
✔ 检查 SSH Key
✔ 生成 SSH Key
✔ 启动 SSH 代理 & 添加密钥
✔ 复制公钥 & 添加到 GitHub/GitLab
✔ 测试 SSH 连接
✔ 使用 SSH 克隆仓库
💡 完成后,你的 Git 连接将更加安全,且无需每次输入密码!🚀