簡體   English   中英

初始化bash / zsh時在.profile中加載秘密內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM