秘密鍵を持つコンピューターに接続して実行することにより、秘密鍵を含むPGPIDを新しいコンピューターにインポートしようとしています。
ssh othercomputer cat myself.gpg | gpg2 --import
これを行うと、GPGは公開鍵をインポートしているように見えますが、秘密鍵はインポートしていません。出力を詳しく調べると、「エージェントへのエラー送信:操作がキャンセルされました」と表示されていることがわかります。これは問題と関係があると思います。
私が持っています
pinentry-program
にgpg-agent.conf
を指定してみました。gpg-agent
を再起動し、実行中であることをトリプルチェックしました。そして問題は、GnuPGがパイプ内、つまり非対話型シェルで実行されていることを検出することだと思います。非対話型とは、ユーザーが対話していないことを意味するため、少なくともほとんどの場合、ピン入力ダイアログを表示しても意味がありません。
最も簡単な解決策は、ローカルドライブにmyself.gpg
を保存してから、別のコマンドでインポートすることです。このソリューションはプライバシーと機密性の面でいくつかの影響を与える可能性があることを理解しているので、盲目的にアドバイスに従う前に、この選択の結果を理解してください。