概要
WindowsへWSL2(Ubuntu20.04LTS)を導入し、複数のAWSアカウント認証情報を管理するため、aws-vaultを以下の手順で導入していました。
当初は問題なく使用出来ていましたが、連休(GW)明けに久しぶりにPCを開くと何故か認証が通らなくなってしまい焦ったので解決策を記載しておきます。
<aws-vault導入>
# ダウンロード&インストール
$AWS_VAULT_VERSION="v6.3.1" && wget -O aws-vault "https://github.com/99designs/aws-vault/releases/download/${AWS_VAULT_VERSION}/aws-vault-linux-amd64"
$sudo mv aws-vault /usr/local/bin/ && sudo chmod +x /usr/local/bin/aws-vault
# 機密情報ストアを導入
$sudo apt-get update && sudo apt-get install -y pass gnupg
# 暗号化/復号キーを生成
$gpg --gen-key
------------------------------------
pass フレーズ xxxxxxxxx
pub rsa3072 20xx-xx-xx [SC] [expires: 20xx-xx-xx]
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
uid r-nagai <r-nagai@cloudpack.jp>
sub rsa3072 20xx-xx-xx [E] [expires: 20xx-xx-xx]
------------------------------------
# gpg --gen-keyで生成したキー情報を機密情報ストア(pass)へ登録
$MY_PUBLIC_KEY="YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
$pass init "$MY_PUBLIC_KEY"
# プロファイルを追加(アクセスキー・シークレットキーを入力
# ※当プロファイルを環境(IAMユーザ)ごとに作成する
$aws-vault add yourprofilename
# 暗号化/復号でパスワードを入力可能とする
$export GPG_TTY=$(tty)
<aws-vault実行>
# 登録済みのプロファイル一覧を表示
# ※aws-vault add で追加したプロファイル名が表示されること
$aws-vault ls
# S3バケット一覧を表示
$aws-vault exec yourprofilename -- aws s3 ls
# AWSコンソールへのログインURLを生成(クリックするだけでログイン可能)
$aws-vault login yourprofilename --duration 12h
原因・解決策
何故かaws-vaultと機密情報ストア(pass)との連携が切れてしまったようです。
「vi ~/.bashrc」を実行し、起動時に実行される設定ファイルへ以下のコマンドを追記します。
<コマンド>
$export GPG_TTY=$(tty)
$export AWS_VAULT_BACKEND=pass
$export AWS_VAULT_PASS_PREFIX=aws-vault
※こんな感じ
コメント