生成 SSH Key 并配置 GitHub/GitLab 详细教程

🔑 生成 SSH Key 并配置 GitHub/GitLab 详细教程

🟢 第 1 步:检查是否已有 SSH Key

Git Bash (Windows)、终端 (Linux/macOS) 运行以下命令:

bash 复制代码
ls -al ~/.ssh

🔹 可能的输出:

  • 如果已有 SSH Key(如 id_rsaid_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 "yaoyuzhuo6@gmail.com"

🔹 参数说明:

  • -t rsa :使用 RSA 算法(GitHub/GitLab 推荐)
  • -b 4096 :生成 4096 位密钥(比默认 2048 位更安全)
  • -C "你的邮箱" :添加注释(通常是你的 GitHub/GitLab 绑定邮箱)

💡 系统会询问以下问题

  1. Enter file in which to save the key (~/.ssh/id_rsa 默认回车)

    bash 复制代码
    Enter file in which to save the key (/home/your-user/.ssh/id_rsa):
    • 直接回车 使用默认路径(推荐)
    • 如果已有密钥 ,可以换个名字,如 id_rsa_github
  2. Enter passphrase(输入密码,可留空)

    bash 复制代码
    Enter 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

    bash 复制代码
    clip < ~/.ssh/id_rsa.pub
  • macOS

    bash 复制代码
    pbcopy < ~/.ssh/id_rsa.pub
  • Linux(手动复制):

    bash 复制代码
    cat ~/.ssh/id_rsa.pub

🟢 第 5 步:添加 SSH Key 到 GitHub/GitLab

🔹 GitHub

  1. 打开 GitHub SSH 设置
  2. 点击 New SSH Key
  3. Title:随便填(如 "My Laptop")
  4. Key:粘贴 id_rsa.pub 里的内容
  5. 点击 Add SSH Key

🔹 GitLab

  1. 打开 Preferences -> SSH Keys
  2. 粘贴 id_rsa.pub 的内容
  3. 点击 Add Key

🟢 第 6 步:测试 SSH 连接

bash 复制代码
ssh -T git@github.com

如果成功,会看到:

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."git@github.com:".insteadOf "https://github.com/"

这样你 git clonegit push 就不会要求输入 GitHub 账号和密码了!


🟢 第 8 步:使用 SSH 克隆 GitHub/GitLab 仓库

💡 HTTPS 方式(需要输入密码):

bash 复制代码
git clone https://github.com/your-username/repository.git

💡 SSH 方式(不需要输入密码):

bash 复制代码
git clone git@github.com:your-username/repository.git

如果使用 GitLab:

bash 复制代码
git clone git@gitlab.com:your-username/repository.git

🎯 总结

检查 SSH Key

生成 SSH Key

启动 SSH 代理 & 添加密钥

复制公钥 & 添加到 GitHub/GitLab

测试 SSH 连接

使用 SSH 克隆仓库

💡 完成后,你的 Git 连接将更加安全,且无需每次输入密码!🚀

相关推荐
fthux7 小时前
装闭 RenoPit 源码解析(09):AnalysisEngine装修闭坑分析主流程
人工智能·ai·开源·github·open source·renopit
JackieDYH7 小时前
Git 与 GitHub 新电脑配置指南(从零开始)
git·github·工具·使用教程
云空17 小时前
《VPython 相关的 GitHub 仓库地址清单》
github·可视化·vpython
Jeanyia17 小时前
GitLab 配套 Git 常用命令
git·gitlab
小弥儿20 小时前
GitHub今日热榜 | 2026-08-14:OSINT情报工具回流,本地AI赛道升温
人工智能·学习·开源·github
极小狐1 天前
极狐GitLab 补丁版本:19.2.1、19.1.3、19.0.5
网络·安全·gitlab·极狐gitlab·安全更新·补丁版本
zhengqiqiqinqin1 天前
Ubuntu16.04 升级ssl到3.5.7、升级ssh到9.8p1
网络协议·ssh·ssl
Shell运维手记1 天前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
码流怪侠1 天前
StereoCrafter 源码级深度拆解:腾讯如何把 2D 视频“抠“成 3D
github·音视频开发·webvr
像风一样自由20201 天前
加强版VScode结合remote-ssh远程连接服务器开发指南
服务器·vscode·ssh