GPG - 在 Linux 上使用密钥加密和解密文件GPG - 在 Linux 上使用密钥加密和解密文件GPG - 在 Linux 上使用密钥加密和解密文件GPG - 在 Linux 上使用密钥加密和解密文件
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

GPG - 在 Linux 上使用密钥加密和解密文件

在计算中,加密是一种流行且大多数时候被推荐的以秘密格式隐藏信息的技术。 GnuPG 是 Linux 系统上加密信息(文件)的有用工具之一。

GnuPG(也称为 GNU Privacy Guard 或简称为 GPG)是 GNU 用于加密数据和创建有助于整体信息安全的数字签名的工具.它是 OpenPGP Internet 标准的完整免费实施,提供了高级密钥管理解决方案。

GPG 有两个版本:

  1. gpg – 更适合服务器和嵌入式平台的独立版本。
  2. gpg2 – 一个用于桌面的版本,需要安装其他几个模块。

在一些流行的 Linux 发行版中,例如 Debian,gnupg2 包是一个虚拟的过渡包,它提供从 gpg2 到 gpg 的符号链接.

本指南介绍如何在 Linux 系统中使用 GPG 生成 GPG 密钥对、导出和共享公钥、加密文件以及共享和解密文件。

它展示了两方之间的信息共享:

  1. Kili Aaron([电子邮件保护]
  2. 测试管理员([电子邮件保护]

双方共享的文件称为 secret.txt,其中包含 测试管理员 想要与用户 Kili Aaron 共享的高度敏感的密码>。

您可以使用如下所示的 cat 命令查看包含密码和其他远程访问详细信息的 secret.txt 文件的内容。它存在于测试管理员的服务器上:

# cat secret.txt

在 Linux 上安装 GnuPG(GNU 隐私卫士)

要安装 GnuPG 包,请运行适用于您的 Linux 发行版的命令,如图所示。请注意,gnupg 软件包必须安装在共享数据的两个系统上。

$ sudo apt install gnupg          [On Debian, Ubuntu and Mint]
$ sudo yum install gnupg          [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a app-crypt/gnupg  [On Gentoo Linux]
$ sudo apk add gnupg              [On Alpine Linux]
$ sudo pacman -S gnupg            [On Arch Linux]
$ sudo zypper install gnupg       [On OpenSUSE]    

在 Linux 中生成新的 GPG 密钥对

要生成新的密钥对(公钥和私钥),请在两个系统上运行带有 --full-generate-key 标志的 gpg 命令,然后按照提示定义类型密钥的长度、密钥的大小、密钥的有效期、用于识别密钥的用户 ID 以及密钥的安全密码短语,如下面的屏幕截图所示。

$ gpg --full-generate-key

在 Linux 中列出 GPG 密钥对

要列出您刚刚创建的公共 GPG 密钥以及其他现有密钥,请运行带有 --list-public-keys 标志的 gpg 命令。要执行长列表,请添加 --keyid-format=long 标志。

$ gpg --list-public-keys
OR
$ gpg --list-public-keys --keyid-format=long

要列出您刚刚创建的秘密 GPG 密钥以及其他现有密钥,请使用 --list-secret-keys 运行 gpg 命令旗帜。要执行长列表,请添加 --keyid-format=long 标志。

$ gpg --list-secret-keys
OR
$ gpg --list-secret-keys --keyid-format=long

在 Linux 中使用 GPG 导出密钥

一旦双方都生成了 GPG 密钥对,双方就可以将他们的公钥导出到一个文件中,并通过电子邮件或其他方式共享。

--------- On Kili Aaron Server --------- 
$ gpg --list-public-keys
$ gpg --export -o aaronsec.key 15B4814FB0F21208FB5076E7A937C15009BAC996

--------- On Test Admin Server ---------
# gpg --list-public-keys
# gpg --export -o tadminsec.key BC39679E5FF48D4A6AEF6F3437211F0B4D6D8A61

在 Linux 中使用 GPG 导入密钥

接下来,通过电子邮件或其他安全方式(例如使用 scp 命令)交换公钥,如下所示:

$ scp aaronsec.key :/root/
$ scp :/root/tadminsec.key ./

接下来,通过添加 --import 标志将对端的公钥导入到本地系统公钥环中,如图所示。

# gpg --import aaronsec.key
# gpg --import tadminsec.key

要检查导入的公钥是否存在于本地系统密钥环中,请列出可用的公钥,如图所示。

# gpg --list-public-keys

在 Linux 中使用 GPG 加密文件

现在让我们看看如何使用 gpg 密钥加密秘密文件。对于本节,我们将在测试管理员 的服务器上运行命令。

要使用刚刚创建的 GPG 密钥对加密纯文本文件,请运行以下命令。 -e 或 --encrypt 标志启用加密,而 -r 或 --recipient 标志用于指定收件人 ID,secret.txt 为要加密的纯文本文件。

以下命令使用收件人[email 的公钥加密文件 secret.txt:

#gpg -e -r  secret.txt  
OR
# gpg --encrypt --recipient  secret.txt

如果前面的命令运行成功,将在当前目录下生成一个新文件(原文件名以.gpg 结尾):

$ ls secret.txt.gpg

要将加密信息存储在不同的文件中,请使用 -o 或 --output 选项后跟文件名。在此示例中,首选文件名是 node_configs:

# gpg -e -r  -o node_configs secret.txt
OR
# gpg --encrypt --recipient  --output node_configs secret.txt

现在通过电子邮件或其他安全方式与您的合作伙伴共享加密文件。

在 Linux 中使用 GPG 解密文件

要解密使用 gpg 加密的文件,请添加 -d 或 --decrypt 标志并指定加密的文件名。默认情况下,解密后的信息将显示在标准输出中。您可以使用 -o 标志将其存储在文件中,如图所示。

$ gpg -d -o secrets.txt secrets.txt.gpg
$ ls secrets.txt

您可能还喜欢:

  • 10 个最佳 Linux 文件和磁盘加密工具
  • 5 个最好的 Linux 数据加密软件和应用
  • 如何在 Linux 中加密和解密文件和目录

有关详细信息,请参阅所示的 gpg/gpg2 手册页。

$ man gpg
OR
$ man gpg2

这就是本指南的范围。 GPG是Linux中常用的信息或文件加解密工具。如果您对本指南有任何意见要分享,请使用下面的反馈表。

©2015-2025 艾丽卡 support@alaica.com