所以我创建了一个带有密码的 gpg 加密文件:
gpg -c passwords.txt.gpg
我怎样才能用 vi 打开它,编辑它,然后关闭它? (这样就不会创建passwords.txt文件,解密的passwords.txt仅在内存中! - 更好:关闭passwords.txt.gpg文件后,内存应该被清理,所以它不应该包含未加密的密码)。
答案1
原答案
这gnupg 插件Vim 这样做:
该脚本实现了gpg加密文件的透明编辑。文件名必须具有“.gpg”、“.pgp”或“.asc”后缀。打开此类文件时,内容将被解密,打开新文件时,脚本将询问加密文件的收件人。文件内容在写入之前将对所有收件人进行加密。该脚本关闭 viminfo 和交换文件以提高安全性。
编辑#1
截至 2016 年 7 月 2 日,原始 gnupg 插件现已不再维护:
由于时间不够,我无法继续开发这个脚本。詹姆斯·麦考伊接管了开发工作。新版本可以在以下位置找到vim 脚本 #3645。
不过有一个新版本:
答案2
如果您真正指的是 gpg 文件,那么前面提到的 gnupg 插件是您的最佳选择。
如果您的意思是“如何使用 vim 打开、编辑和保存加密文件”,那么您也可以探索 -x 选项。它将允许您输入密码,然后以加密形式保存文件,并且在加密 .swp 文件方面也能做正确的事情。
看:http://vimdoc.sourceforge.net/htmldoc/editing.html#encryption
被告知:
- cm=blowfish 选项至关重要,否则您将使用非常弱的加密来保存
- 我不知道vim退出前是否会清理内存
另外,我不知道keepass(上面提到的)是否作为Linux的命令行对应项,但PasswordSafe(适用于Windows和Linux)可以:http://nsd.dyndns.org/pwsafe/ 它允许您在 shell 中编辑条目,但如果您想要更多自由格式的注释、全屏编辑等,您可能需要一些 vi 友好的东西。