Dea*_*ean 18 linux encryption gnupg
我正在使用GNUPG来加密我的ascii文件.
我学会了生成密钥,以及如何使用它来加密和解密文件.
我使用了两种方法:
gpg -d foo.txt.gpg
Run Code Online (Sandbox Code Playgroud)
和
gpg --output foo.txt --decrypt
foo.txt.gpg
Run Code Online (Sandbox Code Playgroud)
我意识到第一种方法会在屏幕上显示解密文件,例如当我通过SSH执行命令时.
关于第二种方法,我担心它是否会在本地pc上留下痕迹--foo.txt文件.
最重要的是,我不知道如何动态编辑foo文件的内容.理想情况下,我想通过SSH打开文件使用nano/pico,键入我的密码来解密,然后编辑文件,保存并加密.我非常希望避免将任何文件保存到本地磁盘.
欢迎任何评论.
先感谢您.
如果您需要更多的灵活性或不想使用vim,编写一个简短的程序来读取来自STDOUT的解密文本,根据自己的喜好编辑,然后重新加密并不是太困难.例如,您可以使用这个最小的Python代码(104行!)为您提供裸骨编辑器,然后自己添加流读取和写入功能.
需要记住的一件事是,将未加密的数据保存在内存中并不能保证它不会到达磁盘。如果相关系统负载很重,则任何未加密的数据都可能会写入交换分区。同样,如果系统进入睡眠模式,任何挂起进程的状态都将存储到磁盘中。如果你的程序运行在嵌入式系统上,可以想象你的内存和“磁盘”是一回事。
系统mlock()调用将保护分配的内存不被交换到磁盘。但是,这需要管理权限,并将您限制为直接负责内存管理的低级语言。
也就是说,谨慎的做法是避免创建包含未加密数据的文件。请注意,如果底层系统受到损害,这并不能为您提供 100% 的安全性。
如果您的编辑器可以从管道读取输入并保存到管道,那么您实际上可以使用解密到标准输出并从标准输入加密的 gpg 版本。不幸的是,对于 nano,从管道读取仅计划用于 2.4。例如,对于 gvim,您可以将解密和加密(通过管道)绑定到 key。
| 归档时间: |
|
| 查看次数: |
14403 次 |
| 最近记录: |