使用gpg工具实现公钥加密

本实验通过gpg工具 实现 用非对称密钥加密方法,对Centos 7 主机的文件fstab,用Centos6的公钥加密,并且到Centos6 用私钥解密文件。

  • 基本步骤和密令

 

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

一.

  1. 在hostA主机上生成公钥/私钥对
    gpg –gen-key
  2. 在hostA主机上查看公钥
    gpg –list-keys
  3. 从hostA主机上复制公钥文件到需加密的B主机上
    scp wang.pubkey hostB:

    使用gpg工具实现公钥加密

二.

  1. 在需加密数据的hostB主机上生成公钥/私钥对
    gpg –list-keys
    gpg –gen-key
  2. 在hostB主机上导入公钥
    gpg –import wang.pubkey
    gpg –list-keys
  3. 用从hostA主机导入的公钥,加密hostB主机的文件file,生成file.gpg
    gpg -e -r wangxiaochun file
    file file.gpg
    使用gpg工具实现公钥加密
    复制加密文件到hostA主机
  4. scp fstab.gpg hostA:
    在hostA主机解密文件
    gpg -d file.gpg
    gpg -o file -d file.gpg


删除公钥和私钥
gpg –delete-keys wangxiaochun
gpg –delete-secret-keys wangxiaochun

  • 详细步骤

一.首先在 Centos 6 上生成公钥加密,

gpg –gen-key

这个是实验需要收集界面的随机字符,所以不能在远程软件上做,要在主机界面上做。

1.这里让我们选择加密算法,我们选择默认的RSA

1

2.这里选择加密的大小和有效期,0代表永久有效,我们选择0

2

3.为密钥设置一个名字,至少五个字符。

3

4.这里问你是否接受上述设置,如果不更改,就选ok.

4

5.基于安全考虑,这里为你生成的私钥要加口令,可以不加,如果不加,接下来就是无限
回车确认就好,这里也会提醒你,你需要一个密码给你的密钥。
这里也提醒了生成的密钥对存放的文件夹,/root/.gnupg/

5

6.这个界面比较搞笑,让你随意移动鼠标,敲击键盘,收集足够的随机字符,产生密钥。

6
7.密钥生成成功,

7

8.查看密钥存盘的地方

8

9.通过 gpg -a –export -o magedu.pubkey将公钥导出准备传给需要加密的Centos 7系统;
这里的-o 是为导出的密钥加名字,这个名字可以自己随意起,导出后就可以查看
密钥的内容,这里已经变成了人类易读模式!而/root/.gnupg/下的密钥是不可读的。

9

10.将公钥传给Centos 7

10

二:在Centos 7 上生成自己的密钥对,方法同上,不再赘述!

1.这里可以通过 gpg –list-keys 查看自己目前拥有的钥匙,

2-1

2.由于从6传过来的,公钥没有导入到系统,系统无法识别它是一个公钥,所以这里我们需要先将6机器的公钥导入,
密令 gpg –import /root/magedu.pubkey
gpg –list-keys
可以发现,公钥已经导入到 7的系统的中了

2-2

3然后将需要加密的文件 fstab 用 6 机器的公钥加密,
密令是 gpg -e -r magedu fstab
这里的公钥用到是公钥的名字,不要加后缀,生成的加密文件也会放在被加密文件所在的目录,需注意

2-3

4.将加密文件传回Centos 6 主机,用6的私钥进行解密,观看效果。

2-4

三:Centos 6 解密文件,查看内容

密令 gpg -o file -d fstab.gpg
系统会自动识别公钥,用自己的私钥进行解密文件

-o 可以指定解密后的文件名。

这里是解密后的文件。

3

四:密钥的删除

不用的密钥可以删除,用到的密令是
gpg –delete-keys magedu.gpg
gpg –delete-secret-keys wangdu
这里以Centos 7 为例子
需要注意的是,如果有私钥的存在,那么成对的公钥是删除不了的,需要先删除私钥。

4

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98669

(0)
知行合一知行合一
上一篇 2018-05-16 15:42
下一篇 2018-05-16

相关推荐

  • linux常用命令

    系统信息 arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /pro…

    2018-03-17
  • 新开始,新航程

           每一个夏天都是变动的季节,这个夏季我毕业了。大学最后的时光是在实验室度过的,每天都被瓶瓶罐罐所包围,鼻子里不时的飘进乙酸乙酯的香味,研究完了生物柴油的催化,是时候该为自己的未来找一条出路了。         大二的时候出于对计算机的着迷,一不小心点进了51cto,从此就走上了不归路。从计算机网络到linux,再到mysql,我在这个世界里乐此不…

    Linux笔记 2018-07-21
  • RAID和逻辑卷

    1、RAID技术
    2、RAID实验
    3、逻辑卷管理
    4、逻辑卷快照

    Linux笔记 2018-06-10
  • 软件包管理 rpm yum的使用

    软件包管理 链接主要作用是吧各个模块之间互相引用的部分处理好, 使得各个模块之间能够正确的链接,分为静态和动态 静态链接  以.a为后缀  把程序对应的依赖库复制到包           升级难 需重新编译  占用空间多 迁移容易 动态链接  以.so为后缀 把依赖加做动态链接    占用空间少  升级方便           若一个库被删,那么所有依赖此库…

    Linux笔记 2018-04-22
  • sed

    sed 过滤文件改文 ( 行编辑器)Sed 选项 脚本(地址命令)inputfile(要处理的文件名)-n 不输出模式空间内容到屏幕,即不自动打印-e 多点编辑-f /PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本-r支持使用扩展正则表达式-i.bak 备份文件并远处编辑 -i编辑文件不备份script ‘地址命令’不给地址: 对全部的所有行处…

    Linux笔记 2018-04-15