Skip to main content

新しい GPG キーを生成する

既存の GPG キーがない場合は、新しい GPG キーを生成してコミットおよびタグの署名に使用できます。

Platform navigation

この記事の内容

サポートされているGPGキーのアルゴリズム

GitHubはいくつかのGPGキーアルゴリズムをサポートします。 サポートされていないアルゴリズムで生成されたキーを追加しようとすると、エラーが生じることがあります。

  • RSA
  • ElGamal
  • DSA
  • ECDH
  • ECDSA
  • EdDSA

GPG キーの生成

注: 新しい GPG キーを生成する前にメール アドレスを検証しておいてください。 メール アドレスを検証していない場合、GPG を使用してコミットとタグに署名することはできません。詳細については、「メールアドレスを検証する」を参照してください。

  1. オペレーティング システム用の GPG コマンド ライン ツールをダウンロードしてインストールします。 通常はオペレーティングシステム向けの最新バージョンをインストールすることをおすすめします。

  2. [ターミナル][ターミナル][Git Bash] を開きます。

  3. GPG キーペアを生成します。 GPG には複数のバージョンがあるため、適切なキー生成コマンドを見つけるには、関連する man ページを参照する必要がある場合があります。

    • バージョン 2.1.17 以降の場合は、以下のテキストを貼り付けて GPG キーペアを生成します。

      Shell
      gpg --full-generate-key
      
    • バージョン 2.1.17 以降を使用していない場合、gpg --full-generate-key コマンドは機能しません。 以下のテキストを貼り付けてステップ 6 に進んでください。

      Shell
      gpg --default-new-key-algo rsa4096 --gen-key
      
  4. プロンプトで、目的のキーの種類を指定するか、Enter を押して既定値をそのまま使用します。

  5. プロンプトで、目的のキー サイズを指定するか、Enter を押して既定値をそのまま使用します。

  6. キーの有効期間を入力します。 Enter を押して、無期限を示す既定の選択を指定します。 有効期限が必要な場合を除き、この既定値をそのまま使用することをお勧めします。

  7. 選択内容が正しいことを確認します。

  8. ユーザ ID 情報を入力します。

    注: メール アドレスの入力を求められた場合は、GitHub アカウント用の検証済みメール アドレスを入力してください。 メール アドレスを非公開のままにするには、GitHub 指定の no-reply メール アドレスを使用します。 詳細については、「メールアドレスを検証する」および「コミットメールアドレスを設定する」を参照してください。

  9. 安全なパスフレーズを入力します。

  10. 公開キーと秘密キーの両方がある GPG キーを長い形式で一覧表示するには、gpg --list-secret-keys --keyid-format=long コマンドを使用します。 コミットやタグに署名するには秘密鍵が必要です。

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

    注: Linux での一部の GPG インストールには、代わりに既存のキーの一覧を表示するには、gpg2 --list-keys --keyid-format LONG の使用が必要となる場合があります。 この場合、git config --global gpg.program gpg2 を実行して gpg2 を使用するには、Git を構成する必要もあります。

  11. GPGキーのリストから、使いたいGPGキーIDの長い形式をコピーしてください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    Shell
    
    $ gpg --list-secret-keys --keyid-format=long
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot <hubot@example.com>
    ssb   4096R/4BB6D45482678BE3 2016-03-10
    
  12. 以下のテキストを貼り付けます。GPG キー ID は実際に使用するものを入力してください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    gpg --armor --export 3AA5C34371567BD2
    # Prints the GPG key ID, in ASCII armor format
    
  13. -----BEGIN PGP PUBLIC KEY BLOCK----- で始まり、-----END PGP PUBLIC KEY BLOCK----- で終わる GPG キーをコピーします。

  14. GitHub アカウントに GPG キーを追加します

参考資料