在 GitHub 上使用 SSH 和 GPG

前言

为什么要配置 SSH

虽然大多数开发者将项目推送到 GitHub 或克隆到本地用的是 HTTPS,但是这有很多弊端,例如:

而 SSH 可以说是弥补是上述的缺点:

  • 使用 SSH 推送几乎不会出现 连接已重置连接超时 这些情况。

  • 使用 SSH 推送或克隆无需输入账号密码

为什么要配置 GPG

起因是因为我有时在 GitHub 上翻阅其他项目的提交记录时,都有 Verified 的标记 ,看起来很舒服

过程

好了,言归正传,下面教程正式开始。

配置 SSH

以 Linux 为例,打开命令行

输入如下命令并一路回车1

Windows 用户请在 Git Bash 中操作。

ssh-keygen -t rsa -C "你的 GitHub 上设置的已验证的邮箱"

例如,我的邮箱是 wang3311835119@hotmail.com,那么我就输入:

ssh-keygen -t rsa -C "wang3311835119@hotmail.com"

输入如下命令,复制输出公钥内容

cat ~/.ssh/id_rsa.pub

打开 SSH and GPG keys | GitHub

点击 New SSH key2

粘贴复制的公钥内容到 Key 文本框中,点击 Add SSH key,之后会要求输入密码,输入后点击 Confirm password 即可

确保配置的有效性

输入如下命令进行测试3

ssh -T git@github.com

出现如下类似内容即为配置成功。

配置 GPG

以 Linux 为例,打开命令行

输入如下命令,回车4

Windows 用户请在 Git Bash 中操作。

gpg --full-generate-key

敲三次回车,然后再输入 y ,回车

输入你的 GitHub 的 用户名验证过的邮箱,确认无误后,输入 O,回车

输入想要设置的密码,确认。再次输入刚才设置的密码,确认

这会导致在每次使用 GPG 签名提交时都需输入密码。
如不想,请不输入密码,不断点击确定(仅 GUI 用户)。

查看生成的 GPG 密钥

输入如下命令,复制红框中类似的密钥 ID

gpg --list-keys

查看生成的 GPG 密钥公钥

输入如下命令

gpg --armor --export {你的密钥 ID}

复制输出的公钥

-----BEGIN PGP PUBLIC KEY BLOCK----- 开头
-----END PGP PUBLIC KEY BLOCK----- 结尾

打开 SSH and GPG keys | GitHub ,点击 New GPG key

粘贴复制的公钥内容到 Key 文本框中,点击 Add GPG key,之后会要求输入密码,输入后点击 Confirm password 即可

配置在 Git 中使用 GPG 密钥对提交进行签名

让 Git 知道签名所用的 GPG 密钥 ID5

git config --global user.signingkey {你的密钥 ID}

在每次提交时,加上 -S 参数,表示此次提交需要用 GPG 密钥进行签名6

git commit -S -m "..."

如果觉得每次都需加上 -S 麻烦,可以设置 Git 为每次的提交自动签名

git config --global commit.gpgsign true

可选步骤:信任 Github 的 GPG 密钥

导入 GitHub 的 GPG 密钥7

curl https://github.com/web-flow.gpg | gpg --import

信任 GitHub 的密钥(用自己的密钥对其进行签名)

gpg --sign-key 4AEE18F83AFDEB23

提示 Really sign? (y/N) 时,请输入 y ,回车。

本文标题:在 GitHub 上使用 SSH 和 GPG
本文作者:MSDNicrosoft
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇