[英]Loading secret content in .profile when initializing bash/zsh
我想在外殼初始化期間包括一個帶有Api密鑰的environment variable
。 但是我不希望該環境變量在純文本文件中公開。
因此,我想知道是否有內置的機制或腳本來執行此操作。
我正在考慮使用git-crypt加密的git存儲庫。 並且在初始化時(在.profile上)解密它,請先獲取它,然后再加密回去,以使其他用戶無法讀取。
幾個sh
函數並使用gpg實現了它:
SECRETS_FILE=~/.secrets.sh
GPG_ID=yourgpgid@mydomain.com
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
包含:
export API_KEY=<SECRET API KEY>
每次加載終端時,在.profile
上包括此功能即可解密,導出變量並將其加密回來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.