跳转至

使用 github 的 GPG keys

本文介绍使用 github的GPG keys 的具体方法。

前言

领导要求使用公司邮箱注册一个 github 账号,以便管理公司在 github 上的代码。原来的个人账号也在使用,这就产生了一个需求,就是在同一台电脑上使用两个 github 账号。网上搜索了一下,大概的方法就是使用 ssh-keygen 生成多个秘钥,通过配置 ~/.ssh/config 文件来区分不同的账号。但是这有个缺点,就是使用克隆命令的时候要加上一些刚才生成的信息,感觉有点麻烦放弃了。

Tip

ssh-keygen 生成的同一个秘钥不能在两个 github 账号上同时使用。

在配置 github 的时候,发现还有一个 GPG keys,于是决定使用这个来下载上传个人账号的代码。

alt text

配置步骤

安装GPG

由于我的目的是在 Git 中使用 GPG,而 Windows 版本的 Git 发行包中,已经包含了可用的 GPG 命令行。判断方法也很简单,打开Git Bash,输入 gpg --version,可以看到类似的 GPG 版本信息:

$ gpg --version
gpg (GnuPG) 2.4.5-unknown
libgcrypt 1.9.4-unknown
Copyright (C) 2024 g10 Code GmbH
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /c/Users/Admin/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

生成自己的GPG密钥

打开 Git Bash,运行 gpg --full-generate-key,根据提示,输入相应的个人信息、自定义密钥参数、设置私钥密码等等,即可生成自己的GPG密钥。

alt text

Tip

需要注意的是邮箱必须要使用在 Github 中验证过的邮箱。

关联 GPG 公钥与 Github 账户

继续在 Git Bash 中,运行命令 gpg --armor --export {key_id},其中 key_id 是由上一步生成的。

alt text

然后在 github 的 GPG keys 中添加刚刚生成的信息。大功告成。

Tip

试了下,克隆仓库的时候要使用 https 协议才行。

alt text