GitHub SSH密钥获取完全指南

10 阅读3分钟

为什么需要SSH密钥

你是否遇到过每次提交代码都要输入GitHub密码的麻烦?或者在克隆私有仓库时被频繁要求验证身份?SSH密钥就是解决这些问题的终极方案!

简单来说,SSH密钥就像你家门的电子门禁系统——公钥是贴在门外的识别标签,私钥是你口袋里的门禁卡。配置完成后,你的电脑就能与GitHub建立安全连接,从此告别重复输入密码的烦恼。

GitHub官方早在2021年就宣布不再支持密码认证,现在SSH密钥已经成为开发者的必备技能。别担心,接下来我会用最通俗的语言,带你一步步完成从密钥生成到连接测试的全过程。

准备工作:检查现有密钥

在开始之前,我们先看看电脑里是否已经有SSH密钥。这一步很重要

Windows用户

打开 Git Bash(安装Git时自带,在开始菜单搜索即可),输入以下命令并回车:

ls -al ~/.ssh

macOS/Linux用户

打开 终端(Launchpad中搜索Terminal),输入同样的命令:

ls -al ~/.ssh

生成SSH密钥

选择密钥算法

目前推荐两种密钥算法:

  • Ed25519:新一代算法,更安全且速度快(推荐大多数用户)
  • RSA:兼容性更好,适合老旧系统

如果你的系统比较新(Windows 10+、macOS 10.12+、Linux内核4.4+),直接用Ed25519;否则选择RSA。

Windows系统(Git Bash)

  1. 生成Ed25519密钥(推荐):
   ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"
  1. 如果系统不支持Ed25519,改用RSA:
   ssh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"
  1. 设置密钥保存路径
    终端会提示"Enter file in which to save the key",直接按回车使用默认路径(C:\Users\你的用户名.ssh\id_ed25519)。

  2. 设置密码(可选但推荐)
    接着会提示"Enter passphrase",这是密钥的额外保护密码。输入时不会显示字符,输完按回车,然后再输一遍确认。如果不想设置密码,直接按两次回车跳过。

    macOS系统

  3. 打开终端:可以通过Spotlight搜索(按command+空格,输入Terminal)。

  4. 生成密钥

   # 推荐的Ed25519算法
   ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"

   # 老旧系统备用方案
   ssh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"
  1. 完成设置
    同样按回车使用默认路径,按需设置密码。生成成功后会显示密钥指纹和随机艺术图像,类似这样:

    +--[ED25519 256]--+
    |      .o+*=*+    |
    |     . +=@B*     |
    |      + *%@=     |
    |       = O@*     |
    |        S =+     |
    |           .     |
    |                 |
    |                 |
    |                 |
    +----[SHA256]-----+
    

复制公钥内容

在终端输入以下命令,直接查看并复制公钥:

cat ~/.ssh/id_rsa.pub

执行后会输出一串字符串,格式是:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... 你的GitHub邮箱

  • 全选复制这串内容:从 ssh-rsa 开头,到你的邮箱结尾,不要漏任何字符,也不要多复制空格 / 换行。

接下来:

  1. 登录你的 GitHub 账号 → 右上角头像下拉菜单 → 点击「Settings」;
  2. 左侧边栏找到「SSH and GPG keys」→ 点击右上角「New SSH key」;
  3. 「Title」随便填(比如 “GitBash-2025”,方便识别);
  4. 「Key」文本框粘贴刚才复制的公钥字符串(确保粘贴后和终端输出的完全一致,没有截断);
  5. 点击「Add SSH key」(如果弹出 GitHub 密码验证,输入你的 GitHub 密码即可)。

SSH添加成功后,再执行克隆命令即可