github 添加 ssh key具体方法(github给项目添加成员)

github 添加 ssh key具体方法(github给项目添加成员)

解决方案goocz2025-02-01 11:07:0742A+A-

GitHub 添加 SSH KEY 和 GPG key 操作手册

一、前言

在使用 GitHub 进行开发协作时,为了确保连接的安全性与提交代码的可验证性,需要配置 SSH KEY 和 GPG key。本手册将详细介绍在 Windows 系统下完成这两项配置的操作流程。

前置条件,电脑安装GIT-2.47版本,https://git-scm.com/downloads/win



gpg4 win 软件下载并安装:https://www.gnupg.org/download/


二、添加 SSH KEY 操作步骤

(一)生成 SSH 密钥

  1. 打开 Git Bash(如果使用 Windows 命令提示符,部分命令会有所不同,后续会提及)。
  2. 在终端中输入以下命令:
  3. 收起
  4. bash
  5. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  6. 这里的 your_email@example.com 替换为你自己的 GitHub 注册邮箱。
  7. 在生成过程中:当提示 “Enter file in which to save the key” 时,直接按 Enter 使用默认位置。当提示输入密码时,可选择设置密码增强安全性,也可直接按 Enter 留空。

具体操作步骤如下:

  1. 生成 SSH 密钥
bash

CopyInsert in Terminal

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

在生成过程中:

  • 当提示 "Enter file in which to save the key" 时,可以直接按 Enter 使用默认位置
  • 当提示输入密码时,可以选择设置密码或直接按 Enter 留空
  1. 查看公钥
bash

CopyInsert in Terminal

cat ~/.ssh/id_rsa.pub

  1. 将公钥添加到 GitHub
  • 复制上面命令输出的完整公钥
  • 打开 GitHub 网站
  • 进入 Settings > SSH and GPG keys
  • 点击 "New SSH key"
  • 粘贴你的公钥
  1. 测试 SSH 连接
bash

CopyInsert in Terminal

ssh -T git@github.com

需要我详细指导你完成这些步骤吗?


这是因为你使用的是 Windows 命令提示符,cat 命令不是 Windows 的默认命令。在 Windows 上,你可以使用以下方法查看 SSH 公钥:

  1. 对于 Git Bash:
bash

CopyInsert in Terminal

cat ~/.ssh/id_rsa.pub

  1. 对于 Windows 命令提示符(CMD):
Code

CopyInsert

type %USERPROFILE%\.ssh\id_rsa.pub

  1. 如果你还没有生成 SSH 密钥,可以使用 Git Bash 或 Windows 的 SSH 客户端生成:
bash

CopyInsert in Terminal

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

生成密钥后,建议:

  • 复制生成的公钥
  • 打开 GitHub 网站
  • 进入 Settings > SSH and GPG keys
  • 点击 "New SSH key"
  • 粘贴你的公钥

你希望我帮你生成 SSH 密钥并指导你如何在 GitHub 上设置吗?

(二)查看公钥

  1. 使用 Git Bash:在终端中输入
  2. 收起
  3. bash
  4. cat ~/.ssh/id_rsa.pub

  5. 使用 Windows 命令提示符(CMD):输入
  6. 收起
  7. plaintext
  8. type %USERPROFILE%\.ssh\id_rsa.pub

(三)将公钥添加到 GitHub



  1. 复制上面命令输出的完整公钥(从 ssh-rsa 开头到最后一行)。
  2. 打开 GitHub 网站。
  3. 点击右上角头像,选择 “Settings”。
  4. 在左侧菜单中点击 “SSH and GPG keys”。
  5. 点击 “New SSH key”。
  6. 在 “Title” 栏可填写一个标识此密钥用途的名称(如个人电脑名称等),在 “Key” 栏粘贴你的公钥。
  7. 点击 “Add SSH key”。

(四)测试 SSH 连接

在终端中输入:

收起

bash

ssh -T git@github.com


若看到类似 “Hi [你的 GitHub 用户名]! You've successfully authenticated, but GitHub does not provide shell access.” 的信息,则表示 SSH 连接配置成功。

三、添加 GPG key 操作步骤

(一)生成 GPG 密钥

  1. 打开 Git Bash。
  2. 在终端中输入:
  3. 收起
  4. bash
  5. gpg --full-generate-key

  6. 按照提示操作:选择 (1) RSA and RSA。输入 4096 作为密钥长度。选择密钥有效期,建议选择 0,即永不过期。输入真实姓名,如示例中的 [自定义姓名]。输入电子邮件,替换为你自己的 GitHub 注册邮箱。可以不添加注释。设置一个强密码(建议使用复杂密码)。

(二)导出公钥


在终端中输入:

收起

bash

gpg --armor --export [你的邮箱] > github_gpg_key.asc

(三)配置 Git


在终端中输入:


收起

bash

git config --global user.name "[自定义用户名]"
git config --global user.email "[你的邮箱]"
git config --global user.signingkey [根据实际生成密钥填写,可通过对应命令查看] 
git config --global commit.gpgsign true

(四)在测试仓库中尝试


  1. 在终端依次输入:
  2. 收起
  3. bash
  4. mkdir -p ~/test_gpg_repo cd ~/test_gpg_repo git init touch README.md git add README.md git commit -S -m "Test GPG signature"

  5. 验证配置:检查 Git 全局配置:在终端输入 git config --global -l。查看 GPG 密钥:在终端输入 gpg --list-secret-keys。

(五)在 GitHub 添加 GPG 公钥

  1. 导出公钥(若之前未操作):在终端输入 gpg --armor --export [你的邮箱]。
  2. 复制完整的公钥输出(从 -----BEGIN PGP PUBLIC KEY BLOCK----- 到 -----END PGP PUBLIC KEY BLOCK-----)。
  3. 打开 GitHub。
  4. 点击右上角头像 > “Settings”。
  5. 左侧菜单选择 “SSH and GPG keys”。
  6. 点击 “New GPG key”。
  7. 在 “Key” 栏粘贴复制的公钥。
  8. 点击 “Add GPG key”。

由于在生成过程第一次不成功,重新来一次,步骤如下:

我们将重新生成 GPG 密钥:

  1. 删除现有的 GPG 密钥
bash

CopyInsert

gpg --delete-secret-keys 6E4D314F82F3C10C4FCCABD0C27D217F5CF6F614 gpg --delete-keys 6E4D314F82F3C10C4FCCABD0C27D217F5CF6F614

  1. 生成新的 GPG 密钥
bash

CopyInsert in Terminal

gpg --full-generate-key

按照提示:

  • 选择 (1) RSA and RSA
  • 密钥长度 4096
  • 选择密钥有效期(可以选择永不过期)
  • 输入真实姓名:gXX
  • 输入电子邮件:xx@gmail.com
  • 可以添加注释(可选)
  • 设置强密码

选1即可,

  1. 验证密钥
bash

CopyInsert

gpg --list-secret-keys gpg --list-keys

  1. 导出公钥
bash

CopyInsert in Terminal

gpg --armor --export xxx@gmail.com > github_gpg_key.asc

  1. 配置 Git
bash

CopyInsert

git config --global user.name "gxx" git config --global user.email "xx@gmail.com" git config --global user.signingkey $(gpg --list-secret-keys --keyid-format LONG | grep sec | awk '{print $2}' | cut -d/ -f2) git config --global commit.gpgsign true

  1. 在测试仓库中尝试
bash

CopyInsert

mkdir -p ~/test_gpg_repo cd ~/test_gpg_repo git init touch README.md git add README.md git commit -S -m "Test GPG signature"

需要我帮你逐步执行这些步骤吗?



好的,我们将逐步执行生成 GPG 密钥的过程。以下是详细步骤:

  1. 生成 GPG 密钥
bash

CopyInsert in Terminal

gpg --full-generate-key

请按照以下提示操作:

  • 选择 (1) RSA and RSA
  • 输入 4096 作为密钥长度
  • 选择密钥有效期(建议选择 0,即永不过期)
  • 输入 "gunkey0103" 作为真实姓名
  • 输入 "cxl0105@gmail.com" 作为电子邮件
  • 可以不添加注释
  • 设置一个强密码(建议使用复杂密码)

完成后,请告诉我生成的密钥信息。


很好,密钥已成功生成。现在我们将完成后续配置:

  1. 导出公钥
bash

CopyInsert in Terminal

gpg --armor --export xx@gmail.com > github_gpg_key.asc

  1. 配置 Git
bash

CopyInsert

git config --global user.name "xx" git config --global user.email "cxx@gmail.com" git config --global user.signingkey 24E7E009E557CC56F8231E6765214D9B46F72B6 git config --global commit.gpgsign true

  1. 在测试仓库中尝试
bash

CopyInsert

mkdir -p ~/test_gpg_repo cd ~/test_gpg_repo git init touch README.md git add README.md git commit -S -m "Test GPG signature"

  1. 验证配置
bash

CopyInsert

git config --global -l gpg --list-secret-keys

需要我帮你逐步执行这些步骤吗?

Me

已完成所有步骤

太好了!现在让我们验证 GPG 和 Git 的配置:

  1. 检查 Git 全局配置
bash

CopyInsert in Terminal

git config --global -l

  1. 查看 GPG 密钥
bash

CopyInsert in Terminal

gpg --list-secret-keys

  1. 在 GitHub 添加 GPG 公钥
  • 导出公钥
bash

CopyInsert in Terminal

gpg --armor --export cxl0105@gmail.com

  • 复制输出的完整公钥
  • 打开 GitHub
  • Settings > SSH and GPG keys
  • 点击 "New GPG key"
  • 粘贴公钥
  1. 测试 Git 提交签名
bash

CopyInsert

cd ~/test_gpg_repo git log --show-signature

你是否需要我帮你完成这些步骤?特别是在 GitHub 上添加 GPG 公钥?


非常好!从输出来看,你的 GPG 签名已经成功配置:

  • 提交使用了 RSA 密钥 24E7E009E557CC56F8231E6765214D9B46CF72B6
  • 签名验证结果为 "Good signature"
  • 签名者信息与 Git 配置一致

接下来的步骤是在 GitHub 上添加 GPG 公钥:

  1. 导出公钥
bash

CopyInsert in Terminal

gpg --armor --export cxl0105@gmail.com

  1. 复制完整的公钥输出(从 -----BEGIN PGP PUBLIC KEY BLOCK----- 到 -----END PGP PUBLIC KEY BLOCK-----)
  2. 在 GitHub 上添加:
  • 打开 GitHub
  • 点击右上角头像 > Settings
  • 左侧菜单选择 "SSH and GPG keys"
  • 点击 "New GPG key"
  • 粘贴复制的公钥
  • 点击 "Add GPG key"

需要我帮你详细指导如何在 GitHub 上添加公钥吗?


已经加入到GPG KEY

太棒了!现在你已经完成了 GPG 密钥的全部配置:

  1. 本地 Git 仓库已配置 GPG 签名
  2. GitHub 已添加对应的 GPG 公钥

接下来你可以:

  • 继续使用 -S 参数进行签名提交
  • 在 GitHub 上的仓库中,你的提交将显示为 "Verified"

一些建议:

  • 妥善保管你的私钥
  • 定期检查 GPG 密钥的有效期
  • 如果需要,可以创建吊销证书

还有什么关于 GPG 密钥或 Git 签名的问题吗?



四、注意事项与建议

  1. 妥善保管你的私钥,私钥泄露可能导致安全问题。
  2. 定期检查 GPG 密钥的有效期,若快过期可及时更新。
  3. 如果需要,可以创建吊销证书,以便在密钥出现问题时能够及时吊销。

完成以上步骤后,你就成功在 GitHub 上配置了 SSH KEY 和 GPG key,能更安全、可靠地进行代码管理与协作。

点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5