使用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 21:36

相关推荐

  • 计算机及Linux基础知识

    1、描述计算机的组成及其功能 根据冯诺依曼体系结构,计算机由运算器、存储器、控制器、输入设备和输出设备五个基本部件组成,其中运算器和控制器合称为中央处理器(CPU)。 各基本部件的功能是: 存储器用于存放指令和数据; 控制器控制指令自动执行; 运算器进行加、减、乘、除四种基本算术运算以及逻辑运算和附加运算;输入输出设备通过和主机进行通信,完成人机数据交互。 …

    2018-06-23
  • NFS文件系统介绍及相关实验

    NFS:Network File System 网络文件系统,基于内核的文件系统。Sun公司开发,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol远程过程调用)实现

    2018-06-28
  • Linux 用户及权限管理(未完)

    1、查看(登录)用户名称及所启动的进程 A、使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JC…

    Linux笔记 2018-05-28
  • shell脚本——条件性执行操作符

    linux的shell脚本中条件性操作符包括:“&&“” ,“||”  两种。 1.&& 代表条件性的AND THEN。(短路与) 2.|| 代表条件性的OR ELSE。(短路或) 释例1:短路与(&&) (1)            cmd1 && cmd2 假设1:cmd1为true(1),…

    2018-08-05
  • VMware安装过程中出现的问题及解决方法

    VMware软件的安装应当是非常简单的,但在本次的安装过程中却出现了两个问题,其中第一个问题比较好解决,但是第二个问题却让我纠结和浪费了很多的时间。以下是对于两个问题的描述及解决方法,以备出现同样问题的人们参考:  问题1:已将该虚拟机配置为64位客户机操作系统,但是,无法执行64位操作.具体错误提示见图:  解决方法:重启计算机,启动过程中按F12键(或依…

    2018-03-29
  • MySQL数据库简介及安装实验

    本节索引: 一、MySQL数据库简介 二、实验:使用yum源安装MariaDB 10.2.15 三、实验:通用二进制格式安装MariaDB 10.2.15 四、实验:编译安装MariaDB 10.2.15 五、实验:进行mysql(MariaDB)多实例安装 一、MySQL数据库简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目…

    2018-06-05