GitHubのGPG Keyを設定する

Kenji Abe
5 min readMar 17, 2018

--

ふと、GitHubのコミットに Verified を表示したくなったので、やりました。

色々やり方あるかと思いますが、できるだけ簡単な方法でやってみました。

環境

  • macOS High Sierra

GPG Suiteインストール

GPG Suiteというのを使うので、以下のサイトからダウンロードしてインストールします。

GPG Key作成

GPG Keychain を起動して、メニューのファイルから 新しい鍵... を選択します。

下のように入力して、鍵を生成します。メールアドレスはGitHubで登録してるものを入力します。

鍵を生成時にパスワードが弱いとダイアログが表示されます。パスワードを変更するか、そのまま進めるかを選択する必要があります。

鍵を生成後に公開鍵をサーバーにアップするか聞かれます。ぼくは特に共有する予定もないので、不要ですボタンを選択しました。

公開鍵をコピー

鍵を生成後に一覧に表示されるので、右クリックしてコピーします。

GitHubへ登録

https://github.com/settings/keys のページに行ってGPG keysのところから New GPG key ボタンを押して、先程コピーしたものを貼り付けます。

鍵ID取得

コマンドラインで以下のコマンドを実行します。

$ gpg --list-secret-keys --keyid-format LONG

結果が以下のようになると思います。

/Users/kenji/.gnupg/pubring.kbx
-------------------------------
sec rsa4096/8439160283A46D40 2018-03-17 [SC]
5E530DACFFCB64BAEFD9ED3F8439160283A46D40
uid [ 究極 ] Kenji Abe (GitHub)
ssb rsa4096/BD5C8DB05E37A047 2018-03-17 [E]

この結果の sec の行に rsa4096 の後の16桁の英数字が鍵IDとなります。

Git設定

最後にGitの設定です。

GitにGPGの署名設定をします。以下のコマンドで先程の鍵IDを設定します。

$ git config --global user.signingkey 1234123412341234

コミットするときに -S をつけると署名されるのですが、毎回オプションをつけるのは面倒なので、デフォルトで署名するようにします。

$ git config --global commit.gpgsign true

gpgの設定も追加します。

$ git config --global gpg.program gpg2

Gitコミット

GPG設定後に最初のコミットでパスワード聞かれますので、鍵を生成したときに設定したパスワードを入力します。

おわり

これで Verified が表示されるようになると思います。

インポートとエクスポート

別のPCでも同じGPG Keyをつかいた時はGPG Keychainで、対象の鍵を選択して、左上のエクスポートします。その時、 Include secret key in exported file にチェックを付けておきます。エクスポート時にパスワードを設定します。

インポートはエクスポートしたファイルを選択してパスワードを入力するだけです。

GitHubで登録したGPG Keyを削除すると以前のコミットが Unverified って表示されちゃうので、GPG Keyは同じのを使ったほうが良いかも。

参考

Sign up to discover human stories that deepen your understanding of the world.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Kenji Abe
Kenji Abe

Written by Kenji Abe

Programmer / Gamer / Google Developers Expert for Android, Kotlin / @STAR_ZERO

No responses yet

Write a response