为什么需要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)
- 生成Ed25519密钥(推荐):
ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"
- 如果系统不支持Ed25519,改用RSA:
ssh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"
-
设置密钥保存路径:
终端会提示"Enter file in which to save the key",直接按回车使用默认路径(C:\Users\你的用户名.ssh\id_ed25519)。 -
设置密码(可选但推荐) :
接着会提示"Enter passphrase",这是密钥的额外保护密码。输入时不会显示字符,输完按回车,然后再输一遍确认。如果不想设置密码,直接按两次回车跳过。macOS系统
-
打开终端:可以通过Spotlight搜索(按command+空格,输入Terminal)。
-
生成密钥:
# 推荐的Ed25519算法
ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"
# 老旧系统备用方案
ssh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"
-
完成设置:
同样按回车使用默认路径,按需设置密码。生成成功后会显示密钥指纹和随机艺术图像,类似这样:+--[ED25519 256]--+ | .o+*=*+ | | . +=@B* | | + *%@= | | = O@* | | S =+ | | . | | | | | | | +----[SHA256]-----+
复制公钥内容
在终端输入以下命令,直接查看并复制公钥:
cat ~/.ssh/id_rsa.pub
执行后会输出一串字符串,格式是:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... 你的GitHub邮箱
- 全选复制这串内容:从
ssh-rsa开头,到你的邮箱结尾,不要漏任何字符,也不要多复制空格 / 换行。
接下来:
- 登录你的 GitHub 账号 → 右上角头像下拉菜单 → 点击「Settings」;
- 左侧边栏找到「SSH and GPG keys」→ 点击右上角「New SSH key」;
- 「Title」随便填(比如 “GitBash-2025”,方便识别);
- 「Key」文本框粘贴刚才复制的公钥字符串(确保粘贴后和终端输出的完全一致,没有截断);
- 点击「Add SSH key」(如果弹出 GitHub 密码验证,输入你的 GitHub 密码即可)。
SSH添加成功后,再执行克隆命令即可