我使用 Mutt 来收发电子邮件,并将联系人存储在其中~/.mutt/alias
。
我想将我的alias
文件存储在公开可见的 Git 存储库中,但不想让任何人查看我的联系人。
我可以alias
使用 GPG 加密和解密我的文件。如何让 Muttalias
在启动时解密并打开我的文件?
答案1
我在我的 中添加了以下行~/.mutt/muttrc
:
source "gpg --decrypt --quiet ~/.mutt/alias.gpg |"
该字符串末尾的管道符告诉 Mutt 将命令的结果通过管道传回到 Mutt。
该--quiet
标志告诉 GPG 仅返回文件的内容alias.gpg
,而不返回gpg:使用 2048 位 RSA 密钥加密…通常以此消息开始。
答案2
实现此目的的更通用的方法是利用git-crypt:
sudo apt install git-crypt
cd
到你的 repo 并输入:git-crypt init
git-crypt export-key ~/gitcrypt.key
(与合作者共享此文件)- 编辑
.gitattributes
文件并添加.key filter=git-crypt diff=git-crypt
(.key
这将配置 Git 在将所有文件推送到公共仓库之前,用扩展名加密所有文件) - 在协作机器上运行
git crypt unlock ~/gitcrypt.key
:(请注意,该文件未在您的机器上加密,但每当您推送更改时,加密版本都会被推送)