シェルの初期化時にenvironment variable
に秘密のApiキーを含めたいとします。しかし、私はその環境変数をプレーンテキストファイルに公開したくありません。bash/zshの初期化時に.profileに秘密のコンテンツをロードする
これを行うための組み込みのメカニズムやスクリプトがあるかどうかは疑問でした。
私はgit-cryptを使って暗号化されたgitリポジトリを考えていました。そして、(.profile上で)初期化すると、それを解読し、それをソースし、それを暗号化して他のユーザーに読めるようにします。
SECRETS_FILE=~/.secrets.sh
[email protected]
profile_decrypt(){
gpg -d ${SECRETS_FILE}.asc > ${SECRETS_FILE} # Decrypt file
rm ${SECRETS_FILE}.asc
}
profile_encrypt() {
gpg -ea -r ${GPG_ID} ${SECRETS_FILE} # Encrypt file using ascii output
rm ${SECRETS_FILE}
}
profile_decrypt
source $SECRETS_FILE
profile_encrypt
~/.secrets.sh
が含まれています:
...あなたの秘密ファイルの復号化に使用した鍵はどこに保存されますか? – larsks
暗号化/復号化には、パスフレーズ付きのGPGキーを使用します。パスフレーズはセッションごとに1回入力されます(gnome-keyringまたはgpg-agentを使用)。あなたがGithubでSSH鍵を使うときと同じように。 –