使用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

相关推荐

  • N31Linux第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]#who |cut -d ‘ ‘ -f1 |sort -u 2、列出最后登录到当前用户系统的用户相关信息。 [root@localhost ~]#w |cut -d ‘ ‘ -f1 |…

    2018-07-16
  • Apache

    apache的安装

    2018-04-22
  • LVM创建级管理

    linux LVM 存储 磁盘

    Linux笔记 2018-05-13
  • Linux的学习之旅

      Linux的文件系统层级结构标准FHS image.png /etc=====和主机相关的系统配置文件 edit the configure /home===== 用户家目录 /usr======二层分层的目录。默认是最大的。 /dev=====设备文件 /media======挂载点和可移动的设备, /mnt=====临时挂载点 /var==…

    Linux笔记 2018-04-01
  • linux第三周小结

    本周小结内容包括shell脚本基础知识、文件查找命令locate和find、文本处理工具sed

    Linux笔记 2018-04-15