中国领先的IT技术网站
|
|

如何使用GPG加解密文件

加密非常重要。它对于保护敏感信息来说是必不可少的。你的私人文件应该要被加密,而 GPG 提供了很好的解决方案。

作者:Nick Congleton来源:Linux中国|2017-12-07 10:25

开发者大赛路演 | 12月16日,技术创新,北京不见不散


如何使用GPG加解密文件

目标:使用 GPG 加密文件

发行版:适用于任何发行版

要求:安装了 GPG 的 Linux 或者拥有 root 权限来安装它。

难度:简单

约定:

  • # - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行,也可以使用 sudo 命令
  • $ - 可以使用普通用户来执行指定命令

介绍

加密非常重要。它对于保护敏感信息来说是必不可少的。你的私人文件应该要被加密,而 GPG 提供了很好的解决方案。

安装 GPG

GPG 的使用非常广泛。你在几乎每个发行版的仓库中都能找到它。如果你还没有安装它,那现在就来安装一下吧。

Debian/Ubuntu

  1. $ sudo apt install gnupg 

Fedora

  1. # dnf install gnupg2 

Arch

  1. # pacman -S gnupg 

Gentoo

  1. # emerge --ask app-crypt/gnupg 

创建密钥

你需要一个密钥对来加解密文件。如果你为 SSH 已经生成过了密钥对,那么你可以直接使用它。如果没有,GPG 包含工具来生成密钥对。

  1. $ gpg --full-generate-key 

GPG 有一个命令行程序可以帮你一步一步的生成密钥。它还有一个简单得多的工具,但是这个工具不能让你设置密钥类型,密钥的长度以及过期时间,因此不推荐使用这个工具。

GPG 首先会询问你密钥的类型。没什么特别的话选择默认值就好。

下一步需要设置密钥长度。4096 是一个不错的选择。

之后,可以设置过期的日期。 如果希望密钥永不过期则设置为 0。

然后,输入你的名称。

最后,输入电子邮件地址。

如果你需要的话,还能添加一个注释。

所有这些都完成后,GPG 会让你校验一下这些信息。

GPG 还会问你是否需要为密钥设置密码。这一步是可选的, 但是会增加保护的程度。若需要设置密码,则 GPG 会收集你的操作信息来增加密钥的健壮性。 所有这些都完成后, GPG 会显示密钥相关的信息。

加密的基本方法

现在你拥有了自己的密钥,加密文件非常简单。 使用下面的命令在 /tmp 目录中创建一个空白文本文件。

  1. $ touch /tmp/test.txt 

然后用 GPG 来加密它。这里 -e 标志告诉 GPG 你想要加密文件, -r 标志指定接收者。

  1. $ gpg -e -r "Your Name" /tmp/test.txt 

GPG 需要知道这个文件的接收者和发送者。由于这个文件给是你的,因此无需指定发送者,而接收者就是你自己。

解密的基本方法

你收到加密文件后,就需要对它进行解密。 你无需指定解密用的密钥。 这个信息被编码在文件中。 GPG 会尝试用其中的密钥进行解密。

  1. $ gpg -d /tmp/test.txt.gpg 

发送文件

假设你需要发送文件给别人。你需要有接收者的公钥。 具体怎么获得密钥由你自己决定。 你可以让他们直接把公钥发送给你, 也可以通过密钥服务器来获取。

收到对方公钥后,导入公钥到 GPG 中。

  1. $ gpg --import yourfriends.key 

这些公钥与你自己创建的密钥一样,自带了名称和电子邮件地址的信息。 记住,为了让别人能解密你的文件,别人也需要你的公钥。 因此导出公钥并将之发送出去。

  1. gpg --export -a "Your Name" > your.key 

现在可以开始加密要发送的文件了。它跟之前的步骤差不多, 只是需要指定你自己为发送人。

  1. $ gpg -e -u "Your Name" -r "Their Name" /tmp/test.txt 

结语

就这样了。GPG 还有一些高级选项, 不过你在 99% 的时间内都不会用到这些高级选项。 GPG 就是这么易于使用。你也可以使用创建的密钥对来发送和接受加密邮件,其步骤跟上面演示的差不多, 不过大多数的电子邮件客户端在拥有密钥的情况下会自动帮你做这个动作。

【编辑推荐】

  1. Translate Shell :一款在Linux命令行中使用谷歌翻译的工具
  2. 如何在Linux系统中通过用户组来管理用户
  3. 面向初学者的Linux网络硬件:软件思维
  4. 如何自动唤醒和关闭Linux
  5. 如何判断Linux服务器是否被入侵?
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SOA概念、技术与设计

在本书中,Thomas ERL呈现了第一部端对端的教程,提供了从基层开始的面向服务的建模与设计的逐步指导。通过逐步的、清晰生动的、良好的SOA...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 51CTO学院双十二活动