如何在Linux上使用GnuPG进行加密

  • 想要在Linux上发送和接收安全的电子邮件吗?以下是使用GnuPG创建和管理加密电子邮件的简单方法 

您是否曾经有一些敏感信息,如密码或服务器登录信息需要通过电子邮件发送给别人,但不知道如何安全地发送以避免信息落入坏人手中?

在这里,您将学习如何通过流行的gnupg 工具安全地传输用PGP加密的邮件和文件。

安装gnupg

如果您从来没有听说过PGP,请查看一个优秀的PGP入门和解释,其中包含了各种细节,为了简洁起见,我们在这里就不多说了。首先检查是否已经安装了gnupg. 在终端中, 运行命令:

gnupg — version

如果它显示了您当前正在运行的 gnupg 的版本(应为v2 +),那么说明您已经准备就绪,可以继续进行下一部分。否则,您可以通过运行以下命令安装gnupg:

sudo apt-get install gnupg2

完成后,检查一下确保已安装:

gnupg — version

如果正确安装了gnupg,它将显示版本号。

生成PGP密钥

使用非对称加密技术,您首先要生成一个PGP密钥对,它由公钥和私钥组成。公钥可以自由地分配给任何您想接收加密信息的人,而私钥则被保存在一个安全的地方,只有您自己知道。

然后,人们可以将信息加密到公钥,并发送加密的信息,然后可以使用私钥解密。要生成密钥对运行以下命令:

gpg — generate-key

这将从询问您的姓名和电子邮件地址开始,这不一定是您的真实姓名和电子邮件。然而,当选择加密信息的对象时,其他人会看到它,所以您应该确保它是别人很容易识别您的东西。

接下来输入字母O来确认姓名和电子邮件地址,然后会提示您输入一个所需的密码,可以是任何您想要的。每次您想解密发给您的信息时,都需要输入这个密码。

一旦确认了密码,它就会开始生成新的PGP密钥对,这可能需要几分钟的时间从您的电脑中收集足够的熵/随机数据。您可以离开终端几分钟做一些别的事,直到您看到一条消息说您的密钥已经成功生成。

导出您的公钥

现在您的密钥对已经生成了,您需要导出公钥来分发给其他人。在终端机上运行该命令:

gpg -a — export -e ‘[email protected]` > mykey.asc

确保将 “[email protected]” 改为您在生成PGP密钥时提供的电子邮件地址。现在您会在当前目录下看到一个名为 mykey.asc 的新文件。把这个文件发送给任何您希望能给您发送加密信息的人.

导入公钥

就像您现在可以和别人分享您的公钥一样,别人也会和您分享他们的公钥。当您收到别人的PGP公钥时,将文件保存到一个目录下,从同一个目录下访问终端,运行:

gpg — import key.asc

这将会把这个人的公共PGP密钥导入到gnupg中,允许您开始向他们发送加密信息。您可以在任何时候查看当前在gnupg中可用的所有PGP密钥列表:

gpg — list-keys

您将看到一堆看起来类似于下面的条目:

pub rsa3072 2020-01-30 [SC] [expires: 2022-01-29]
8978168C4E79A08553E5789CD42A4A4EC1468CFE
uid [ unknown] Matt Dizak <[email protected]>

您需要注意的唯一信息是条目的名称和电子邮件地址,其中说明了该密钥的所有者。当加密信息时,您只需要收件人的电子邮件地址即可。

通过PGP加密邮件

例如,您可能需要发送一些敏感信息给您的网页设计师,而您的PGP密钥已经被导入到您的邮箱地址 [email protected]。键入所需的信息,并将其保存到一个文本文件中,例如:message.txt。在终端机中,在 mail.txt 所在的目录下,运行命令:

gpg -e -a -r ‘[email protected]’ message.txt

快速解释上面的命令:

-e 表示您要加密数据。
-a 表示您希望以ASCII或纯文本格式输出。
-r 代表收件人,因此它的后面是您的设计师的电子邮件地址。
最后是您要加密的信息文件。

最有可能的是,这将要求您确认您确实希望加密到这个公钥,只需按Y键表示同意。一个新的 message.txt.asc 文件将被创建,如果您在文本编辑器中打开这个文件,会看到类似这样的内容:

-----BEGIN PGP MESSAGE-----
hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw
9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36
.....
-----END PGP MESSAGE-----

这是新生成的加密形式的信息。您可以在电子邮件中附加这个文件,或者简单地将这个文件的内容复制并粘贴到电子邮件的正文内容中。

然后,收件人将能够使用他们的私钥在他们的终端上解密消息,确保任何人在传输过程中看到这条消息时无法查看纯文本版本。

加密二进制文件

以上介绍了如何加密文本信息,但二进制文件呢?工作原理大同小异,例如要加密一个名为 images.zip 的文件,在终端运行以下命令:

gpg -e -r ‘[email protected]’ images.zip

唯一不同的是去掉了-a选项,以及输出文件的名称。然后和之前一样,如果提示确认使用该公钥,只需按Y键表示同意。

一个名为 images.zip.gpg 的新文件将被创建,这是该压缩文件的加密版本,可以将其作为附件通过电子邮件发送给收件人。然后,他们可以使用他们的私钥解密ZIP文件。

解密信息

您还需要一种方法来解密发给您的信息. 请记住, 为了让别人能够给您发送加密的消息, 您必须先和他们分享您的公共PGP密钥. 您将得到一个加密的文本块,它看起来和加密消息差不多,比如这样:

-----BEGIN PGP MESSAGE-----
hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw
9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36
.....
-----END PGP MESSAGE-----

将此文本块保存到诸如 message.asc 之类的文件中,并在终端中运行以下命令:

gpg -d message.asc > message.txt

系统会提示您输入密码,这个密码与您最初生成PGP密钥对时提供的密码相同。成功输入密码后,将创建一个mail.txt文件,其中包含纯文本的解密信息。这就是全部了!

恭喜,您的通信现在安全了

通过本指南,您已经了解了通过PGP加密来保护通信安全的所有必要知识。您已经学会了如何生成PGP密钥对,导出您的公钥以分享给他人,导入他人的公钥,以及如何加密和解密信息。

现在就可以实践它了。加密愉快。⚪️

How to Use GnuPG for Encryption on Linux

3 thoughts on “如何在Linux上使用GnuPG进行加密

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据