1. ホーム
  2. ギット

[解決済み】Gitエラー - gpgがデータへの署名に失敗しました。

2022-04-06 08:51:23

質問

私はgitを使い始めたばかりで、gitとgpgはhomebrewでインストールしています。 なぜか、次のようなエラーが発生します。 git commit このトピックに関する他の多くのstackoverflowの質問を見ましたが、私にはどれもうまくいきませんでした。 どうすればこのエラーを修正して、正常にアップロードできるようになりますか?

error: gpg failed to sign the data
fatal: failed to write commit object

解決方法は?

トラブルシューティングのために、まず試してほしいことが2つあります。

  • 走る git config --global gpg.program gpg2 を使用することを確認するために gpg2 であって gpg
  • 走る echo "test" | gpg2 --clearsign を確認するために gpg2 が動作していることを確認します。

これで問題なさそうなら、次に試すべきことが1つあります。

  • 走る brew install pinentry パスフレーズ入力のための優れたツールがインストールされていることを確認するために

そのインストール後、再試行する場合 git commit と表示され、まだ " が表示されます。 failed to sign the data "エラーになる、します。

  • 走る gpgconf --kill gpg-agent ハングアップしている可能性のある実行中のエージェントを強制終了します。

もし、それが gpgconf がインストールされていない、あるいは --kill オプションを使用すると かもしれない を試してみてください。

  1. cp ~/.gnupg ~/.gnupg-GOOD を保存しておくと、そのコピーに ~/.gnupg 必要であれば、後で元に戻せるように
  2. brew install gnupg21 GnuPG 2.1 をインストールする

のコピーを保存しておく理由は ~/.gnupg GnuPG 2.1 は、GnuPG 2.0 以前と後方互換性のない方法でキーデータを作成したり変更したりする可能性があるためです。 もし を実行すると、後で戻ることができます。 mv ~/.gnupg ~/.gnupg21 && mv ~/.gnupg-GOOD ~/.gnupg .


その他、GnuPG環境が動作していることを確認するための基本的な手順をいくつか紹介します。

  • 実行 gpg2 -K --keyid-format SHORT 少なくとも1つのキー・ペアがあることを確認するために

この出力で、GnuPGが使用する秘密鍵がないことがわかった場合、秘密鍵を作成する必要があります。

  • 実行 gpg2 --gen-key GnuPG がキーペアを作成するための手順を説明します。

というエラーメッセージが表示された場合 "デバイスに不適切なioctl" を実行します。

  • 走る export GPG_TTY=$(tty) を追加し、それを ~/.bashrc または ˜/.bash_profile