macでGPGを使う
Posted: | Categories: GPG | Tags: GPG
GPGのインストール
Homebrewを使ってGPGをインストールします。
brew install gnupg
GPGキーの作成
暗号化に使うためのGPGキーを作成していない場合は、以下のコマンドで新しいキーを作成します。
gpg --full-generate-key
暗号化タイプの選択 (RSAやECDSAなどを選択。基本的にはデフォルトでOK)
キーの長さを指定 (通常は2048や4096を推奨)
有効期限を設定 (必要に応じて設定、無期限なら「0」を入力)
名前、メールアドレス、コメントを入力 (特に決まっていない場合は自分の情報を入力)
パスフレーズの設定 (重要です。キーを守るための強力なパスフレーズを入力)
ファイルを暗号化する手順
暗号化したいファイル(例えば secret.txt)を用意します。 次のコマンドを使って、そのファイルをGPGで暗号化します。
gpg --output secret.txt.gpg --encrypt --recipient "あなたのメールアドレス" secret.txt
- –output secret.txt.gpg: 出力する暗号化されたファイル名を指定。
- –encrypt: ファイルを暗号化するオプション。
- –recipient “あなたのメールアドレス”: 暗号化を解除できるユーザー(自分のメールアドレス)を指定。
暗号化されたファイルの復号
復号する際は、次のコマンドを使います。
gpg --output secret.txt --decrypt secret.txt.gpg
これにより、暗号化された secret.txt.gpg ファイルを復号して元の secret.txt に戻すことができます。
メモ
- もし複数の公開鍵がある場合、適切な公開鍵が自分のものか確認し、–recipient オプションに正しい鍵(自分のもの)を指定してください。
- 暗号化後は、元のファイル(平文の secret.txt)を削除して、セキュリティを高めることをお勧めします。
AWSの認証情報を保存したい(docker-credential-passがgnupgを使っている)
mac OSでDockerを使う場合、通常は docker-credential-osxkeychain に認証情報が保存される
が、dockerコンテナ内で作業している場合は、コンテナの外にある docker-credential-osxkeychain
は使えない(使用しているライブラリもコンテナとホストOSで違うので、そのままでは動作しないだろう)
私は作業用コンテナにUbuntuのイメージを使っている。この場合、下記の選択肢が取れそう、passの方が一般的のようだったのでこちらを導入した(内部的にgnupgを利用する)
- docker-credential-pass
- docker-credential-secretservice(GNOME Keyring を利用)
コンテナ内でもawsの認証情報を使えるようにするための設定をまとめた
1. 必須パッケージをインストール
apt-get update
apt-get install -y gnupg gpg-agent pass pinentry-curses dirmngr
2. GnuPG の準備
# GnuPGホームディレクトリ作成
mkdir -p ~/.gnupg
chmod 700 ~/.gnupg
/run/user配下にディレクトリを作成する権限が無い場合、rootが作成し、所有者情報、権限をユーザに合わせる必要がある
Read more...