前提・実現したいこと
direnvが発動するディレクトリに移動した時にMFA入力し、AWSの一時クレデンシャルを環境変数にセットしたいです。
これをfishで行いたいです。
AssumeRole時にはMFAが必須となっており、MFAを解除することはできません。
- fish shell
- direnv/direnv: Unclutter your .profile
- remind101/assume-role: Easily assume AWS roles in your terminal.
発生している問題・エラーメッセージ
.envrcを配置したディレクトリに移動後にMFA code(ワンタイムパスワード)の入力を求められますが、一切の入力を受け付けてくれません。
bash
1direnv: loading .envrc 2MFA code: # ←ここにMFA codeを入力したい
該当のソースコード
.envrc
bash
1eval $(assume-role default)
試したこと
bash, zshでは問題なく動作しました。
また、.envrcを下記のように設定して動作を確認してみました。
bash
1read
この場合でもfishでは入力ができませんでした。assume-roleコマンドが原因ではなくfishでdirenvを使用した時、対話型の入力ができないという問題だと認識しています。
補足情報(FW/ツールのバージョンなど)
ツール | バージョン |
---|---|
fish | 3.0.0 |
direnv | 2.19.0 |
assume-role | 0.3.1 |
あなたの回答
tips
プレビュー