giip
SES 商机登记
4分钟阅读

GitHub SSH 密钥注册指南

了解如何在 GitHub 账户上注册 SSH 密钥,以便在克隆仓库和进行身份验证时无需每次输入密码。

🚀 前往 GitHub SSH 设置 →

📋 概述

SSH (Secure Shell) 是一种协议,可以通过安全的身份验证而无需在网络上发送密码。通过在 GitHub 上注册 SSH 密钥对,您可以克隆、拉取和推送仓库,而无需每次输入凭据。

GitHub 支持两种类型的 SSH 密钥:

  • Ed25519 (推荐) — 现代、安全,且密钥体积更小
  • RSA (4096位) — 用于兼容性,如果您的系统不支持 Ed25519,则使用此类型

🛠️ 设置步骤

1. 检查现有 SSH 密钥

在生成新密钥之前,请检查您是否已有一个密钥。

Linux / macOS / WSL:

ls -la ~/.ssh/

Windows (PowerShell):

Get-ChildItem $env:USERPROFILE\.ssh

查找名为 id_ed25519id_ed25519.pubid_rsaid_rsa.pub 的文件。如果您已有想要使用的密钥对,请跳至第 3 步。

2. 生成新的 SSH 密钥

使用 Ed25519 算法生成新的 SSH 密钥(推荐)。

Linux / macOS / WSL:

ssh-keygen -t ed25519 -C "<your-email@example.com>"

Windows (PowerShell):

ssh-keygen -t ed25519 -C "<your-email@example.com>"

当提示输入文件位置时,按 Enter 接受默认位置(~/.ssh/id_ed25519)。

当提示输入密码短语时,您可以输入安全的密码短语或按 Enter 留空。使用密码短语可以增加额外的安全层来保护私钥。

3. 查看并复制您的公钥

显示您的公钥并复制到剪贴板。

Linux / macOS / WSL:

cat ~/.ssh/id_ed25519.pub

Windows (PowerShell):

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

公钥以 ssh-ed25519ssh-rsa 开头,以您的电子邮件地址结尾。选择全部输出内容并复制。

⚠️ 安全注意事项: 切勿分享或公开您的私钥id_ed25519id_rsa,不带 .pub)。只有公钥(id_ed25519.pub)可以安全分享。

4. 在 GitHub 上注册密钥

  1. 登录 GitHub
  2. 点击您的头像 → Settings
  3. 在左侧边栏中点击 SSH and GPG keys
  4. 点击 New SSH key
  5. Title 字段中输入描述性标签(例如 我的笔记本办公电脑
  6. Key 字段中粘贴您的公钥
  7. 点击 Add SSH key

5. 测试连接

验证您的 SSH 密钥是否正确注册。

ssh -T git@github.com

首次连接时您可能会看到以下警告:

The authenticity of host 'github.com (IP 地址)' can't be established.
RSA key fingerprint is SHA256:xxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入 yes 并按 Enter。如果成功,您将看到:

Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

6. 使用 SSH 克隆仓库

确认连接后,使用 SSH 地址克隆仓库。

git clone git@github.com:<owner>/<repository>.git

<owner> 替换为仓库所有者,将 <repository> 替换为仓库名称。

🔍 验证 SSH 密钥注册

要列出您 GitHub 账户上注册的所有 SSH 密钥:

  1. 进入 SettingsSSH and GPG keys
  2. 查看已注册密钥的列表,包括标题和创建日期

🩺 故障排除

症状原因解决方案
Permission denied (publickey)未注册 SSH 密钥,或使用了错误的密钥确认您的公钥已在 GitHub 上注册。确保您使用的是正确的私钥。
ssh -T 显示 "successfully authenticated" 但 git 操作失败密钥未添加到特定仓库确保您的 SSH 密钥在该仓库设置中具有读/写权限。
连接超时防火墙或网络问题阻断了 22 端口检查您的网络设置,或尝试改用 HTTPS。
git@github.com: Permission denied远程 URL 格式错误在远程 URL 中使用 git@github.com:(冒号)而不是 https://github.com/
"Too many authentication failures"服务器因密钥尝试次数过多而拒绝使用 ssh -vT git@github.com 进行调试,或使用 -i ~/.ssh/id_ed25519 指定密钥。

🔒 安全最佳实践

  • 切勿分享您的私钥id_ed25519id_rsa)。不要将其附加到 issues、邮件中,或提交到仓库。
  • 生成 SSH 密钥时使用密码短语来保护私钥,即使您的设备被入侵也能多一层保护。
  • 每个设备使用唯一的 SSH 密钥 — 为您的笔记本电脑、台式机和服务器分别注册不同的密钥。
  • 定期审查已注册的密钥 — 从您的 GitHub 账户中移除旧或不用的 SSH 密钥。
  • 对于需要集中管理密钥的组织,考虑使用 SSH 证书

📚 参考


版本: 1.0 最后更新: 2026-09-24 源文件: giipv3/public/help/github-ssh-key.zh-CN.md