繁体   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