关闭

使用 GPG 加密和解密文件

192人阅读 评论(0) 收藏 举报
分类:

目标:使用 GPG 加密文件

发行版:适用于任何发行版

要求:安装了 GPG 的 Linux 或者拥有 root 权限来安装它。

难度:简单

约定:

  • # - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行,也可以使用 sudo命令
  • $ - 可以使用普通用户来执行指定命令
介绍

加密非常重要。它对于保护敏感信息来说是必不可少的。你的私人文件应该要被加密,而 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
结语

就这样了。GPG 还有一些高级选项, 不过你在 99% 的时间内都不会用到这些高级选项。 GPG 就是这么易于使用。你也可以使用创建的密钥对来发送和接受加密邮件,其步骤跟上面演示的差不多, 不过大多数的电子邮件客户端在拥有密钥的情况下会自动帮你做这个动作。


via: https://linuxconfig.org/how-to-encrypt-and-decrypt-individual-files-with-gpg

作者:Nick Congleton[1] 译者:lujun9972[2] 校对:wxy[3]

本文由 LCTT[4] 原创编译,Linux 中国[5] 荣誉推出

0
0
查看评论

使用GPG对文件进行加密解密批处理

在日常生活中,我们一定有许多文件是放在自己电脑里不想让别人看到的。就拿照片举例吧,现在有一个文件夹,里面全是我们拍过的照片,下面让我们一步一步来看看如何使用GPG对它们进行批量加密。 GPG的使用方法可以参阅http://blog.csdn.net/puppylpg/article/details...
  • puppylpg
  • puppylpg
  • 2016-03-18 03:35
  • 3051

GPG加密解密及文件完整性验证

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <d...
  • danssion
  • danssion
  • 2014-06-25 12:07
  • 1895

GPG 加密解密简明教程

GPG 加密解密简明教程 10 一 2011 # 作者: riku / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接。 大 家都知道,互联网上充斥着大量的明文传输方式,可以说绝对是不安全地带。那么,我们如何保证在不安全的互联网中更可...
  • wxc20062006
  • wxc20062006
  • 2015-11-11 17:18
  • 597

linux系统环境下,对文件进行加密(gpg,openssl)

linux系统环境下,对文件进行加密(gpg,openssl) Linux关于文件加密的两种方法和详解: 一、用GnuPG加密文件。 GnuPG软件包(Gnu Privacy Guard,Gnu隐私保镖),软件包的名称是gpg。 gpg在加密文件时使用的是公共密钥加密方法。 1.第一步是要...
  • yuyin86
  • yuyin86
  • 2012-03-29 09:43
  • 1777

GPG(pgp)加解密中文完整教程

一、介绍 我们都知道,互联网是不安全的,但其上所使用的大部分应用,如Web、Email等一般都只提供明文传输方式(用https、smtps等例外)。所以,当我们需要传输重要文件时,应该对当中的信息加密。非对称密码系统是其中一种常见的加密手段。而在基于PGP方式加密的中文介绍少之
  • heavenboya
  • heavenboya
  • 2011-08-13 19:43
  • 2709

用GPG保卫你的重要文件-GnuPG/Gpg4win使用说明

GnuPG官网:https://www.gnupg.org/ Gpg4win官网:https://www.gpg4win.org/ GnuPG教程: 官方中文帮助:https://www.gnupg.org/howtos/zh/GPGMiniHowto-1.html 月光...
  • jinwufeiyang
  • jinwufeiyang
  • 2016-07-15 20:13
  • 1833

PHP GPG 加密实践

近期搞一些外部 对接. 对方是Java程序,使用的是GPG加密协议. 关于GPG的资料较多,但如果想在PHP中使用,就比较 复杂了. 先讲解一些基本概念,别的文章中都把这些基本概念忽略了,认为大家都知道,实际我们小白程序员通常是没接触过的. 1.GPG的别名是Gn...
  • bluehire
  • bluehire
  • 2017-05-04 18:05
  • 386

使用GPG学习非对称加密

非对称加密需要公钥和私钥: 公钥的作用:别人用来给你发加密的信息&别人验证你的签名 私钥的作用:你用来创建签名&解密别人发给你的信息的 具体而言,A要想发送加密信息到B,则: A有A的签名私钥和B的加密公匙 B有A的签名公匙和B的加密私钥使用GPG可以很好的演示这一点:gpg (Gnu...
  • puppylpg
  • puppylpg
  • 2016-03-16 03:27
  • 3034

[Publish AAR To Maven] 使用GPG对文件进行签名加密

本篇文章隶属于 《使用 Gradle 发布 AAR 到 Maven 仓库》 在某系场合我们需要对自己的应用或者文件进行签名加密等操作,其中邮件是最典型的例子。签名加密的工具很多,在本篇中我们使用 GPG 来进行操作。 什么是 GPG ?要说这个还得从 PGP 说起,而 PGP 又是使用 RSA 加...
  • qiujuer
  • qiujuer
  • 2015-03-12 09:34
  • 3667

gpg 自动解密

http://blog.aboutc.net/linux/58/crontab-run-gpg-automatic-encryption-and-decryption 但是我们把下面解密这句放入shell脚本中,发现无法解密: gpg -o --passphrase -d d...
  • wxc20062006
  • wxc20062006
  • 2015-11-18 14:10
  • 621
    个人资料
    • 访问:138527次
    • 积分:6816
    • 等级:
    • 排名:第4110名
    • 原创:554篇
    • 转载:1篇
    • 译文:0篇
    • 评论:13条
    文章分类
    最新评论