Kensuke Kousaka's Blog

Notes for Developing Software, Service.

GnuPGの環境を新サーバに移行したログ

以下のコマンドを実行する

$ mkdir ~/.gnupg
$ chmod 700 ~/.gnupg
$ cp /usr/share/gnupg/gpg-conf.skel ~/.gnupg/gpg.conf

~/.gnupg/gpg.confに以下の行を追記する.

display-charset utf-8
personal-digest-preferences SHA512
cert-digest-algo SHA512
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
personal-cipher-preferences TWOFISH CAMELLIA256 AES 3DES
use-agent
no-permission-warning
lock-never

~/.gnupg/gpg-agent.confを作成し,以下の行を追記する.

pinentry-program /usr/bin/pinentry-curses

~/.gnupg/に作成したファイルのパーミッションを以下のコマンドで変更する.

$ chmod 600 ~/.gnupg/gpg-agent.conf
$ chmod 600 ~/.gnupg/gpg.conf

/etc/pacman.confの以下の行をコメントアウトする

GPGDir = /etc/pacman.d/gnupg/

旧サーバの鍵ファイルを以下のコマンドでエクスポートする.

$ gpg -o pub.key --export hoge@foo.bar
$ gpg -o sec.key --export-secret-key hoge@foo.bar
$ gpg --export-ownertrust > hogetrust

エクスポートできたら,scpなどの盗聴されない方法でこれらを新サーバに転送する. 次に,新サーバにおいて以下のコマンドでこれらをインポートする.

$ gpg --import pub.key
$ gpg --import --allow-secret-key-import sec.key
$ gpg --import-ownertrust hogetrust

たぶんこれで大丈夫なはず…