gpg の使い方

gpg コマンドの使い方を表で整理します

よく使うコマンド一覧

操作 コマンド
鍵の管理
公開鍵の一覧を見る gpg --list-keys
秘密鍵の一覧を見る gpg --list-secret-keys
公開鍵を stdout に出力 gpg -a --export [ID]
秘密鍵を stdout に出力 gpg -a --export-secret-keys [ID]
公開鍵を stdinから取り込む gpg --import
秘密鍵を stdinから取り込む gpg --import
公開鍵を削除する gpg --delete-key [ID]
秘密鍵を削除する gpg --delete-secret-key [ID]
ファイルの暗号化・復号・署名
ファイルを暗号化する gpg -e -r [ID] hogehoge.txt
復号する gpg hogehoge.txt.gpg
ファイル hogehoge.txt を署名する gpg --digest-algo SHA512 -u [ID] -bao hogehoge.txt.gpg hogehoge.txt
clearsign gpg --clearsign hogehoge.txt
鍵の新規作成・登録
鍵を作る gpg --gen-key
鍵を鍵サーバーに登録 gpg --send-keys key [ID] --keyserver [SERVER]

応用例

鍵のコピー

鍵をリモートのサーバーにコピーする場合は ssh と組み合わせると便利です

例えばローカルの鍵を,リモートにコピーするときは

$ gpg -a --export [ID] | ssh [REMOTEのHOST名]  gpg --import

リモートの鍵を,ローカルにコピーするときは

$ ssh [REMOTEのHOST名] gpg -a --export [ID] | gpg --import

秘密鍵をコピーするときは --export を --export-secret-keys に変えるだけです

注意事項

"-a"オプションの順番
"-a"は最初に付けましょう
鍵を削除するときは,秘密鍵が先
秘密鍵が登録されていると対応する公開鍵は削除できません.