您是否曾经有过需要通过电子邮件发送给某人的敏感信息,如密码或服务器登录信息,但不知道如何安全地发送这些信息以避免信息落入坏人手中?
在这里,您将学习如何通过流行的gnupg工具安全地传输用PGP加密的消息和文件。让我们马上投入,学习如何保护我们的通讯安全!
如果你以前从未听说过PGP,请查看一个优秀的PGP入门和解释,其中包含了各种细节,为了简洁起见,我们将不在这里讨论。首先检查是否已经安装了gnupg。在终端中,运行以下命令:
gnupg --version如果它显示当前正在运行的gnupg的版本(应该是v2+),那么您已经设置好了,可以转到下一节。否则,您可以通过运行以下命令来安装gnupg:
sudo apt-get install gnupg2完成后,检查以确保已安装:
gnupg -- version假设gnupg安装正确,这将显示版本号。
使用非对称加密,您将首先生成一个由公钥和私钥组成的PGP密钥对。公钥可以免费分发给您希望从中接收加密消息的任何人,而私钥则保存在安全的地方。
然后,人们可以将消息加密到公钥,并发送加密的消息,然后可以使用私钥对其进行解密。要生成密钥对运行:
gpg --generate-key这将首先问你的名字和电子邮件地址,这不一定是你的真实姓名和电子邮件地址。但是,这是其他人在选择要向谁加密消息时看到的,因此请确保其他人可以很容易地识别您。
接下来输入字母O以确认姓名和电子邮件地址,系统会提示您输入所需的密码,可以是任何您想要的密码。每次要解密发送给您的消息时,都需要输入此密码。
一旦您确认了密码,它将开始生成新的PGP密钥对,这可能需要几分钟从您的计算机收集足够的熵/随机数据。请随意离开终端几分钟,然后做些别的事情,直到您看到一条消息说您的密钥已成功生成。
现在您的密钥对已经生成,您需要导出公钥以分发给其他人。在终端中运行命令:
gpg -a --export -e '[email protected]` > mykey.asc“确保更改”[email protected]'生成PGP密钥时提供的电子邮件地址。现在您将在当前目录中看到一个名为我的钥匙.asc. 将此文件发送给您希望能够向您发送加密邮件的任何人。
与您现在可以与其他人共享您的公钥一样,其他人也将与您共享他们的公钥。当您收到某人的公共PGP密钥时,将文件保存到一个目录,并从同一目录访问终端,运行:
gpg --import key.asc这将把此人的公共PGP密钥导入gnupg,允许您开始向他们发送加密消息。您可以随时查看gnupg中当前可用的所有PGP密钥的列表:
gpg --list-keys您将看到一组类似于下面的条目,gnupg中每个键对应一个条目:
pub rsa3072 2020-01-30 [SC] [expires: 2022-01-29] 8978168C4E79A08553E5789CD42A4A4EC1468CFE uid [ unknown] Matt Dizak <[email protected]>您需要注意的唯一信息是条目的名称和电子邮件地址,其中说明了该密钥的所有者。加密邮件时,您只需要收件人的电子邮件地址。
例如,您可能需要将一些敏感信息发送给您的web设计师,他是您已在电子邮件地址下导入的PGP密钥[email protected]。键入所需的消息并将其保存到文本文件中,例如。消息.txt. 在终端和目录内消息.txt请运行以下命令:
gpg -e -a -r '[email protected]' message.txt让我们快速分解上述命令:
很可能这会要求您确认您确实希望加密到这个公钥,您只需点击Y键就可以了。一个新的消息.txt.asc文件将被创建,如果您在文本编辑器中打开该文件,您将看到类似的内容:
-----BEGIN PGP MESSAGE----- hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw 9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36 ..... -----END PGP MESSAGE-----这是新生成的加密形式的消息。您可以将此文件附加到电子邮件中,也可以将此文件的内容复制并粘贴到电子邮件的正文内容中。
然后,接收者将能够使用他们的私钥对消息进行解密,从而确保在传输过程中看到此消息的任何人都无法查看纯文本版本。
上面的部分解释了如何加密文本消息,但是二进制文件呢?它的工作原理基本相同,例如加密一个名为图片.zip,在终端中运行命令:
gpg -e -r '[email protected]' images.zip唯一的区别是-a选项与输出文件的名称一起被删除。然后像以前一样,如果提示确认公钥的使用,只需按Y键即可。
一个名为图片.zip.gpg将被创建,这是我们的zip文件的加密版本,我们可以通过电子邮件作为附件发送给我们的设计师。然后他们可以使用私钥解密ZIP文件。
您还需要一种方法来解密发送给您的消息。请记住,为了让某人向您发送加密邮件,您必须首先与他们共享您的公共PGP密钥。您将得到一个加密的文本块,它看起来与加密消息相同,例如:
-----BEGIN PGP MESSAGE----- hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw 9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36 ..... -----END PGP MESSAGE-----将此文本块保存到文件中,例如消息.asc,并在终端中运行命令:
gpg -d message.asc > message.txt系统将提示您输入密码,该密码与最初生成PGP密钥对时提供的密码相同。成功输入密码后消息.txt将创建一个文件,其中包含明文形式的消息的解密版本。就这些!
通过本指南,您了解了通过PGP加密正确保护通信安全所需的一切。您已经学习了如何生成PGP密钥对、导出要共享给其他人的公钥、导入其他人的公钥,以及如何加密和解密消息。
下次您需要通过电子邮件发送敏感信息时,您现在可以放心,只有预期的收件人才能看到邮件的内容,使邮件远离不受欢迎的客人。加密快乐!
在任何平台上,加密都是每个人都应该认真对待的事情。你可能认为你在Linux上比在Windows甚至macOS上更安全。但是Linux真的像你想象的那样安全吗? ...
文件加密和解密可以是一个工作位。但是,使用PowerShell扩展,可以将进程精简为一行命令。为此,我们需要安装Gpg4win和Powershell模块。使用脚本,我们可以自动化文件加密和解密过程。 ...
想学习如何保护闪存驱动器吗?不幸的是,你不能用密码保护整个U盘。但是您可以加密分区、文件夹和存档。 ...
...对于Linux用户来说,比特币挖掘的选择也非常丰富。了解如何用这些最好的免费应用在Linux上挖掘比特币! ...
你有没有想过在Linux中快速、轻松地加密文件,而不必安装和学习新的软件包?这里有一个很好的和简单的方法,可以通过AES256加密文件或目录,并用密码保护,帮助您的文件远离窥探的眼睛。 ...
...你的系统,例如,可能是渗透他们的第一步。因此,评估如何保护您的系统是值得的。 ...