gpg加密

作者: ghbsunny | 来源:发表于2017-09-13 13:24 被阅读0次

​1 概述

工作中,可以用加密的工具对数据进行加密,本文介绍了如何用gpg实现对称和非对称的加密

2. 对称加密

.对称加密file文件,选项是-c

gpg  -c file

这里需要输入一个密码,解密也是用同一密码进行解密

解密文件

gpg  -o file -d file.gpg

这里的file可以自己指定名称,-o是生成新文件,-d是解密

注意,虽然可以生成加密文件,但是我的CentOS6出现了如下的三个报错,第一个问题没有解决

[root@localhost ~]#gpg -c aa

#这个文件没有找到不知道从哪里获取这个文件

can't connect to `/root/.gnupg/S.gpg-agent': No such file or directory

#以下的这两报错如果在6的桌面端打开终端,在运行生成的命令就不会报错

Xlib:  extension "RANDR" missing on display "localhost:10.0".

Xlib:  extension "RANDR" missing on display "localhost:10.0".

3. 非对称加密

使用gpg工具实现公钥加密过程如下

.在hostB主机上用公钥加密,在hostA主机上解密

a.在hostA主机上生成公钥/私钥对

b.把A的公钥导出来

c.把A的公钥发送给需要加密数据给A的机器上,如hostB

d.在hostB主机上用A公钥加密文件file,并把加密后的file文件发给A

e.在hostA主机上解密file

3.1 hostA生成密钥

gpg   --gen-key

这一步只需要在需要别的主机生成只有自己能加密文件的机器上才需要生成钥匙对

如果只是用其他主机的公钥来机密文件,该主机可以不生成自己的公钥和私钥对

这里最后还会提示输入一个密码,这个密码是用来加密的私钥的,当要解密文件的时候,要输入该密码,建议是8位数

最后还是需要敲入大量的字符,让机器生成随机数。这里建议不要在终端上操作,否则会很慢,

直接在物理机上操作,生成密钥对的速度就很快

3.2 查看钥匙对

生成钥匙后,在hostA主机上查看钥匙对

查看公钥列表

gpg  --list-keys

查看私钥列表

gpg --list-secret-key

3.3 导出公钥

在hostA主机上导出公钥,命名为sunny.pubkey

这一步一定是在gpg --gen-key生成后,才会有公钥可以导出,否则没有执行gpg  --gen-key的话,就没有钥匙产生

一台机器上可以通过gpg  --gen-key生成多把钥匙,然后用gpg -a 可以把所有的钥匙都导出来

gpg  -a --export -o sunny.pubkey

注意,私钥也可以导出,但是一般不导出来,自己主机保留

gpg -a --export-secret-keys -o sunny6a.prikey

3.4 发送公钥给需要加密的机器

从hostA主机上复制公钥文件到需加密的B主机上

scp  sunny.pubkey   hostB

3.5 加密文件

使用gpg工具实现公钥加密文件

3.5.1 导入钥匙

在hostB主机上导入公钥

gpg   --import  sunny.pubkey

注意 其他主机(如hostA)私钥也可以导入,方法和导出公钥一样,sunny6a.prikey是私钥名称,如下

gpg --import sunny6a.prikey

3.5.2 加密文件

用从hostA主机导入的公钥,加密hostB主机的文件file,生成  file.gpg

在B上用A的公钥进行加密文件,这样加密的文件,只有A才能解密,因为只有A有自己的私钥

注意,以下-r 选项后面的key是不带后缀的公钥名称,即用gpg --list-key查看到的uid

gpg  -e -r  sunny   file

3.5.3 发送加密后的文件给主机A

复制加密文件file.gpg到hostA主机

scp   file.gpg   hostA

3.6 解密文件

在hostA主机解密文件

gpg  -d file.gpg

gpg  -o file -d file.gpg

加了-o选项后,可以将解密后的内容重定向到新的文件。解密的时候,系统会自动识别用该主机的哪把私钥进行加密

3.7 删除钥匙

3.7.1 仅删除公钥

.在B上删除公钥和私钥,删除别的地方导进来的key,这个步骤是在别的地方导入的时候做的,

不能直接删除自己机器上的公钥,自己机器上的公钥要删除,首先要删除私钥,才能在删除公钥

gpg  --delete-keys wangxiaochun

3.7.2 删除公钥和私钥

如果没有导入私钥,这里就不会有私钥,一般私钥不给别人,是通过gpg  --gen-key产生,才会有私钥

要删除有生成公钥和私钥对的机器

先删除私钥

gpg   --delete-secret-keys sunny

gpg  --delete-keys  sunny

4 总结

gpg加密的选项很丰富,这里仅仅介绍了最基本的选项,如需其他内容,请用man gpg进行查看

相关文章

  • GPG Suite for Mac(GPG加密软件) v2018

    专业的GPG加密软件哪里有?MacDown为大家带来gpg suite mac破解版,这是一个GPG加密工具套装,...

  • 安全加密(使用gpg工具实现公钥加密)

    对称加密算法 特性: 缺陷: 算法 密钥交换 应用程序: RPM 使用gpg实现对称加密 gpg -o file ...

  • gpg加密

    ​1 概述 工作中,可以用加密的工具对数据进行加密,本文介绍了如何用gpg实现对称和非对称的加密 2. 对称加密 ...

  • GPG 基本命令总结

    GPG加密系统 一、基本命令使用 Use "gpg --full-generate-key" for a full...

  • Linux命令学习手册-gpg

    功能 GPG 是加密和数字签名的免费工具,大多用于加密信息的传递。 除了仅用密码加密外, GPG 最大的不同是提供...

  • 文件加密工具GPG

    GPG GPG是一个基于命令行的工具,主要用于给文件进行加密。 一、生成密钥 在使用GPG之前,必须生成一对密钥。...

  • GPG和keybase.io

    GPG(GnuPG)是一种使用混合加密技术(对称/非对称,对称加密提升加密速度,公钥加密用来保证key交换时的安全...

  • 2018-01-13网络安全基础知识及私有CA

    LInux上的加解密工具:OpenSSL,GPG(pgp协议) 加密算法和协议:对称加密:加密和解密使用同一个密钥...

  • GPG加密和解密

    Mac安装GPG命令 brew install gnupg其他系统请参考#GPG命令 创建密钥 gpg --gen...

  • PGP加密 —— GPG Keychain

    PGP encryption是一种非对称加密其作用有 ‘签名’, ‘加密/解密’功能实现依靠一对Keys. 签名 ...

网友评论

      本文标题:gpg加密

      本文链接:https://www.haomeiwen.com/subject/maiksxtx.html