GitHub 添加 SSH key 详细步骤

发布时间 2023-11-29 10:51:26作者: 纯真丁一郎です

查看git上Connecting to GitHub with SSH的文档后,解决方案如下:

检查 SSH keys

  1. 打开终端

  2. 输入 ls ~/.ssh 来查看 SSH keys 是否存在.

$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
  1. 查看文件夹,是否你已经拥有一个 public SSH key. 通常GitHub支持的key会是以下文件之一
id_rsa.pub
id_ecdsa.pub
id_ed25519.pub

Tips: 如果你收到一个错误信息说 "~/.ssh" 目录不存在,那说明你没有匹配的 SSH key 在默认位置。下一步操作会建议并告诉你如何生成一个新的 SSH key。

生成 SSH key

关于 SSH key 的使用和生成建议。主要有两种选择:

  • 如果你没有可用的 SSH 密钥对,或者不想使用现有的密钥,建议生成一个新的 SSH 密钥对。
  • 如果你看到已经有一个可用的公钥和私钥对(例如 id_rsa.pub 和 id_rsa),你可以把这个密钥添加到 ssh-agent 中,然后使用它连接到 GitHub。
  1. 打开 Git Bash 终端

  2. 使用 ssh-keygen 命令生成密钥,其中邮箱改为你自己的

ssh-keygen -t ed25519 -C "your_email@example.com"

Note: 如果你使用旧系统不支持 Ed25519 算法, 那么使用:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  1. 当系统提示你 "Enter file in which to save the key" 按回车接受默认的密钥保存路径

  2. 设置一个安全的密钥密码

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

直接回车表示不设置密码

将你的 SSH key 添加到 ssh-agent

在向 ssh-agent 添加一个新的 SSH key 之前,你需要检查是否已有现成的 SSH key,如无可用 key,生成一个新的 SSH key。

如果有 GitHub Desktop,也可以使用它避免手动管理 SSH key

  1. 打开一个管理员权限的 PowerShell 或 CMD 窗口,确保 ssh-agent 服务运行
# start the ssh-agent in the background
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
  1. 在普通命令行窗口中,使用 ssh-add 命令,添加私钥文件
ssh-add /c/Users/YOU/.ssh/id_ed25519
  1. 在 GitHub 帐号设置中,添加对应的公钥内容

为你 GitHub 账户添加一个新的 SSH key

  1. 复制 SSH public key 内容,直接从 .pub 文件中读取
$ clip < ~/.ssh/id_ed25519.pub
# Copies the contents of the id_ed25519.pub file to your clipboard

Notes:
windows系统,右键 id_rsa.pub文件,使用记事本打开后复制里面的public key

  1. 在 GitHub 网站右上角个人头像-Settings 页面

image

  1. 选择 SSH and GPG keys 项

  2. 点击 New SSH key 按钮添加

  3. 为此密钥添加一个描述标签

  4. 选择此密钥的用途,一般选 authentication

  5. 在 Key 字段粘贴刚才复制的公钥内容

  6. 点击 Add SSH key 按钮完成添加

  7. 如需确认身份验证才能成功添加