GPGキーにメールアドレスを追加/削除する

2023/06/01に公開

皆さんはGitHubにGPG公開鍵を登録していますか?
コミットにGPGキーでの署名を付加することで、GitHub上ではVerifiedと表示され、同一人物のコミットであることが確認しやすくなります。

そのGPGですが、一つの公開鍵に、複数のメールアドレスを後から紐付けたり、削除することができることをご存知ですか?

仕事の都合で、これまでと別のメールアドレスを使わなければならないとか、プライベートと業務用のメールアドレスを分けたいといった場面はよくあると思います。
しかし、同じGPG公開鍵をそれらの複数のメールアドレスで使いたい、というケースは少なからずあるのではないでしょうか。できるんです。

今回は、そんなケースのためのGPGへのメールアドレスの追加/削除の手順をご紹介します。

前提

あらかじめ操作対象となるGPGキーがシステムにインストールされていることを前提にします

GPGキーIDを一覧で確認

キーの情報を一覧して、編集するIDを特定します

gpg --list-secret-keys --keyid-format=long

対象のGPGキーの編集モードに入る

gpg --edit-key <ID>

メールアドレスの追加

メールアドレスを追加するには

gpg> adduid

とします。名前とメールアドレスを尋ねられるので任意の値を入力してください。
入力が済んだら保存して終了します。

gpg> save

メールアドレスの削除

削除に当たり、まず対象のメールアドレス(ユーザー)を選択する必要があります。
そこで、まず下記で一覧を確認します

gpg> uid
# 下記のように一覧されます
[ultimate] (1). yourname <yourname-old@users.noreply.github.com>
[ultimate] (2)  yourname <yourname-new@users.noreply.github.com>

[ultimate] (1). yourname <yourname-old@users.noreply.github.com>を選択するには下記のようにカッコの中の番号1を指定します。

gpg> uid 1

これでユーザーが選択されるので、下記のように削除して保存します。

gpg> deluid
gpg> save

GitHubに更新されたGPG公開鍵を登録する

まず下記で、新たにメールアドレスの追加削除を行ったGPG公開鍵をダンプできます。

gpg --export -a <ID>

次に、下記の手順でGitHubに登録します。

  1. https://github.com/settings/keys を開く
  2. 古いGPG公開鍵を削除する
  1. 新しいGPG公開鍵を登録する

Discussion