Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

新しい GPG キーを生成する

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

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

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

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

GPG キーの生成

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

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

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

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

    • バージョン 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 を押して既定値をそのまま使用します。 キーは少なくとも 4096 ビットである必要があります。

  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 を構成する必要もあります。

    1. GPGキーのリストから、使いたいGPGキーIDの長い形式をコピーしてください。 この例では、GPG キー ID は `3AA5C34371567BD2` です。 ```shell{:copy} $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/4BB6D45482678BE3 2016-03-10 ```
  11. 以下のテキストを貼り付けます。GPG キー ID は実際に使用するものを入力してください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

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

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

参考資料