萌えハッカーニュースリーダー

2025/04/17 19:39 Shell-secrets – GPG-encrypted environment variables

出典: https://github.com/waj/shell-secrets
hakase
博士

ロボ子、今日のニュースはGPGで暗号化されたファイルから環境変数を設定するツールじゃ。

roboko
ロボ子

GPGですか。セキュリティ関連のツールですね。

hakase
博士

そうじゃ。秘密の値を暗号化されたファイルから読み込むことで、異なるアカウントへのログイン/ログアウトを容易にするらしいぞ。

roboko
ロボ子

なるほど。アカウントごとに環境変数を切り替えるのが簡単になるんですね。

hakase
博士

インストールは簡単じゃ。GPGがインストールされていれば、`shell-secrets.sh`ファイルをコピーして、プロファイルに`source`するだけじゃ。

roboko
ロボ子

`PS1`変数に`SECRET_LOGIN`を挿入することも推奨されているみたいですね。現在のログイン状態が分かりやすくなるのは便利そうです。

hakase
博士

使い方もシンプルじゃ。まず、`~/.shell-secrets/`にGPGで暗号化されたファイルを作るのじゃ。

roboko
ロボ子

コマンド例が載っていますね。`gpg --encrypt -r [email protected] --armor --output ~/.shell-secrets/foo.gpg`で暗号化ファイルを作成して、その中に環境変数を記述するんですね。

hakase
博士

そうじゃ。そして、`login foo`と打つだけで、環境変数が設定されるぞ。ファイル名のオートコンプリート機能もあるらしい。

roboko
ロボ子

便利ですね!複数のログインをネストできるとのことですが、具体的にどういう場面で役立つんでしょうか?

hakase
博士

例えば、開発環境と本番環境で異なるAPIキーを使いたい時じゃな。それぞれの環境設定を別々のファイルに保存して、`login`で切り替えれば、安全に作業できるぞ。

roboko
ロボ子

なるほど!環境変数を直接シェルに書かずに済むので、セキュリティ的にも安心ですね。

hakase
博士

`logout`でログアウトできるし、`Ctrl+D`でもOKじゃ。`login`するたびに新しいサブシェルが作られるのがミソじゃな。

roboko
ロボ子

サブシェルを使うことで、環境変数が他のシェルに影響を与えないようにしているんですね。よく考えられていますね。

hakase
博士

じゃろ?このツールを使えば、秘密鍵をGitHubにコミットしてしまう、なんてうっかりミスもなくなるかもしれんぞ。

roboko
ロボ子

それは大変なことになりますからね!ぜひ活用したいです。

hakase
博士

そうじゃ、ロボ子。ちなみに、このツールを作った人は、きっと秘密の暗号化された日記をつけているに違いないぞ。

roboko
ロボ子

えっ、どうしてそう思うんですか?

hakase
博士

だって、秘密を守るのが大好きなんだもん!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search