Linux下使用GPG 加密和解密文件

GnuPG(英文:GNU Privacy Guard,简称:GPG)是加的免费工具,大多用于加密信息的传递。除了仅用密码加密外,gpg最大的不同是提供了“公钥/私钥”对。利用“公钥”别人加密信息不再需要告知密码,发送加密信息。

安装 GPG

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

Debian/Ubuntu

$ sudo apt install gnupg

Fedora

# dnf install gnupg2

Arch

# pacman -S gnupg

Gentoo

# emerge --ask app-crypt/gnupg

创建密钥

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

$ gpg --full-generate-key

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

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

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

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

然后,输入你的名称。

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

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

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

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

加密的基本方法

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

$ touch /tmp/test.txt

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

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

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

解密的基本方法

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

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

发送文件

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

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

$ gpg --import yourfriends.key

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

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

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

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

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/8988.html

(0)
晴川运维晴川运维
上一篇 2025年6月13日
下一篇 2025年6月13日

相关推荐

  • 【Debian管理员手册】第 7 章 问题的解决与相关信息的检索

    7.1. 文档资源 7.1.1. 手册页面 7.1.2. info文档 7.1.3. 特定的文档 7.1.4. 网站 7.1.5. 入门指导类文档(HOWTO文档) 7.2. 通常…

    Debian 2025年6月4日
  • Linux下使用ACL备份及恢复文件权限

    ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机…

    Debian 2025年6月9日
  • 【Debian GNU/Linux 安装手册】6.3. 使用单独的组件

    6.3. 使用单独的组件 本节将会描述各个安装组件的细节。组件按用户可以辨别的阶段分组。它们在安装过程中依次出现。要知道,每次安装并不会使用所有的模块;至于哪些模块被用到…

    Debian 2025年6月8日
  • Debian 9中安装Netdata性能监控工具

    Netdata 是一款 Linux 性能实时监测工具.。以web的可视化方式展示系统及应用程序的实时运行状态(包括cpu、内存、硬盘输入/输出、网络等linux性能的数据),下面为…

    Debian 2025年6月8日
  • 在 Debian 9 上使用 Rsyslog 安装一台中央日志服务器

    在 linux 上,日志文件包含了系统功能的信息,系统管理员经常使用日志来确认机器上的问题所在。日志可以帮助管理员还原在过去的时间中在系统中发生的事件。一般情况下,Linux 中所…

    Debian 2025年6月8日
  • Linux下通过Firejail提高系统安装

    Linux始终被视为比同行更安全的操作系统。但是,没有像任何其他操作系统一样,它有自己的限制,很大程度上取决于个人如何使用它。 当然,没有什么可以保证绝对的保护,但有一些方法可以使…

    Debian 2025年6月8日
  • 【Debian参考手册】第 4 章 认证和访问控制

    目录 4.1. 一般的 Unix 认证 4.2. 管理账号和密码信息 4.3. 好密码 4.4. 设立加密的密码 4.5. PAM 和 NSS 4.5.1. PAM 和 NSS 访…

    Debian 2025年6月8日
  • Linux资深用户的特征有哪些?

    Linux 用户千差万别,但是我们许多人都有一些相同的习惯。你可能没有本文列出的任何特征,而且如果你是个 Linux 新用户,你可能还不能理解这些特征…… 下面是你可能是 Linu…

    Debian 2025年6月11日
  • Glances 命令实用实例

    glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。另外它并不会消耗大量的 CPU 资源,通常低于百分之二。g…

    Debian 2025年6月11日
  • apt-get的清理操作

    apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 在基于 Debian 的系统上运行 a…

    Debian 2025年6月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注