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日

相关推荐

  • Linux中MAC 地址欺骗具体方法

    MAC地址欺骗(或MAC地址盗用)通常用于突破基于MAC地址的局域网访问控制,例如在交换机上限定只转发源MAC地址修改为某个存在于访问列表中的MAC地址即可突破该访问限制,而且这种…

    Debian 2025年6月17日
  • 【Debian GNU/Linux 安装手册】8.2. 让自己适应 Debian

    8.2. 让自己适应 Debian Debian 和其它的发行版有些不同。即使您熟悉其它发行版的 linux,您也应该了解 Debian 的一些东西,以便保持您的系统处在…

    Debian 2025年6月8日
  • 【Debian GNU/Linux 安装手册】1.7. 文档的组织

    1.7. 文档的组织 本文意在成为 Debian 的新手的使用手册。尽管它对用户的专业知识水平已经做了尽量少的假设,但我们还是设想您对计算机硬件如何工作有一个基本的了解。…

    Debian 2025年6月8日
  • 详解Linux过滤命令

    在Linux系统中有许多命令可以用来过滤,比如:awk命令、sed命令、head 命令等等,在本篇文章中重点为大家讲解这些命令的使用方法,有需要的小伙伴可以参考一下。 img 1、…

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

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

    Debian 2025年6月8日
  • 【Debian参考手册】第 8 章 国际化和本地化

    目录 8.1. 语言环境 8.1.1. UTF-8 语言环境的基本原理 8.1.2. 语言环境的重新配置 8.1.3. 文件名编码 8.1.4. 本地化信息和翻译文档 8.1.5.…

    Debian 2025年6月4日
  • 详解dpkg命令使用方法

    dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除,下面为大家讲解一下dpkg命令使用方法。 语法: …

    Debian 2025年6月8日
  • Centos7部署nmon监控工具具体步骤

    nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,并且能输出结果到文件中,然后通过nm…

    Debian 2025年6月10日
  • Linux下使用tmpwatch删除文件

    我们知道系统里面常常会有一些忘记删除的长时间不用而且确实没有用处的文件,如果不去处理,这些无用的文件会越来越多,浪费许多系统资源。在不知道文件名的情况下,很难去检查某一目录下到底是…

    Debian 2025年6月11日
  • 【Debian GNU/Linux 安装手册】3.5. 为多重启动系统事先分区

    3.5. 为多重启动系统事先分区 为您的硬盘分区仅仅指的是将您的硬盘空间切分成几块。分区之后,每一块都是独立于其余部分的单独空间。这和在一个大房子里砌几堵墙有几分相似,如…

    Debian 2025年6月8日

发表回复

登录后才能评论