github GPG 配置

本文介绍如何通过GPG加密来保障GitHub上commit的安全性,包括GPG的安装、密钥生成、配置及使用方法。

GPG是一种加密算法,现在github支持commit使用GPG加密,从而保证提交的commit在传输的过程中没有被篡改。
详细信息可以查看:https://help.github.com/articles/signing-commits-using-gpg/

安装 GPG:

brew install GPG

生成GPG:

keygpg --gen-key

根据提示,生成GPG key,这一步需要设置用户名,邮箱和密码。
注意:确保邮箱的那项是你github账号认证的邮箱;还有记住输入的密码。
这一步结束后,如下图所示:
这里写图片描述
注意:sub:私钥;pub:公钥

日后你可以使用该命令查看这些信息:

  • 查看公钥
gpg --list-keys --keyid-format LONG
  • 查看私钥
gpg --list-secret-keys --keyid-format LONG

查看公钥时得到:
这里写图片描述
红框中的字符就是你的 GPG key ID.

执行:

gpg --armor --export 9854B******9EDA4

上方命令最后一部分是你的 GPG key ID。输入完这个以后,得到如下格式的内容:

-----BEGIN PGP PUBLIC KEY BLOCK-----
<!-- your GPG key ID here -->
-----END PGP PUBLIC KEY BLOCK-----

之后在你的 Github Settings 中找到 SSH and GPG keys. 点击 new GPG key, 并将上方得到的全部内容复制进去,点击 add GPG key

最后我们还需要配置本地的 git:

git config --global user.signingkey 9854B******9EDA4

上方命令最后一部分是你的 GPG key ID

如果你希望当前项目使用 GPG 输入:

git config commit.gpgsign true

如果你希望所有 git 使用 GPG 输入:

git config --global commit.gpgsign true

之后就可以使用 GPG 了。

### GitHub SSH 配置教程 #### 检查本地是否存在现有的 SSH 密钥 在配置新的 SSH Key 前,需先确认本机是否已存在密钥。通常情况下,默认路径下的私有和公钥文件分别为 `id_rsa` 和 `id_rsa.pub`。可以通过以下命令检查: ```bash ls -al ~/.ssh ``` 如果发现 `.pub` 文件,则说明已有可用的 SSH Key;如果没有找到任何密钥文件,则需要生成一个新的 SSH Key。 --- #### 创建新的 SSH 密钥 当未检测到现有密钥时,可以运行如下命令来生成一对新的 RSA 或 Ed25519 类型的密钥对[^1]: 对于传统的 RSA 加密方式: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 或者推荐更安全的 Ed25519 方式: ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 执行此操作后会提示指定保存位置以及设置密码保护(可选),完成后会在默认目录下生成对应的私钥与公钥文件。 --- #### 添加新生成的 SSH Key 到 ssh-agent 中 为了使系统能够自动管理并加载您的 SSH 私钥,在每次启动终端之后无需重新手动输入密码验证身份,建议将刚创建好的密钥加入到 ssh-agent 的缓存里去。首先确保服务正在运行: ```bash eval "$(ssh-agent -s)" ``` 接着添加刚才生产的秘钥至代理程序之中: ```bash ssh-add ~/.ssh/id_ed25519 # 如果使用的是Ed25519算法 # 或者如果是RSA类型的则为下面这条指令 ssh-add ~/.ssh/id_rsa ``` 注意这里要依据之前所建立的具体名称来进行调整匹配相应的地址路径[^2]。 --- #### 将公共 SSH Key 添加到 GitHub 账户 复制刚刚产生的 .pub 结尾的那个公开钥匙内容出来准备上传给网站端做认证绑定工作。打开该文本查看其全部数据内容可以直接通过 cat 工具实现快速读取展示功能: ```bash cat ~/.ssh/id_ed25519.pub # 对应于Ed25519类型的情况 # 又或者是针对传统rsa版本的话就是这个样子啦~ cat ~/.ssh/id_rsa.pub ``` 登录进入自己的个人资料页面 -> Settings (设置) -> SSH and GPG keys 这一部分区域里面点击右上方那个绿色加号按钮 “New SSH key”,然后把前面获取得到的那一串字符粘贴进去填写好标题描述信息提交就可以了! --- #### 测试连接有效性 最后一步非常重要哦~那就是检验整个流程下来是不是真的成功实现了免密访问的效果呢?我们可以试着发起一次模拟请求看看反馈情况如何咯~ ```bash ssh -T git@github.com ``` 假如一切正常无误的话应该会出现类似这样的欢迎话语告诉你已经授权完毕啦!反之如果有错误发生也不要着急,仔细按照上面每步指南再核对自己有没有遗漏地方就好啦~ ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值