使用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的发展演变及其哲学思想

    Linux的发展演变及其哲学思想 一: 计算机的组成及其功能 (软件和硬件) 硬件部分: (一)控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 (二)运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据…

    Linux笔记 2018-06-23
  • 第五周总结

    软RAID   mdadm:为软RAID提供管理界面   为空余磁盘添加冗余   结合内核中的md(multi devices)   RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等 如果硬盘只分出了一个分区,可以用 dd if=/dev/sdb of=/dev/sdc bs=1 count=66 skip=446…

    Linux笔记 2018-05-01
  • TEST

    TEST

    Linux笔记 2018-07-30
  • ELK日志搜索引擎

    概念ELK 是什么 ELK 是 elastic 公司旗下三款产品 ElasticSearch 、Logstash 、Kibana 的首字母组合。 ElasticSearch 是一个基于 Lucene 构建的开源,分布式,RESTful 搜索引擎。 Logstash 传输和处理你的日志、事务或其他数据。 Kibana 将 Elasticsearch 的数据分析…

    Linux笔记 2020-01-30
  • 简述一下TCP三次握手四次挥手

    TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。 原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。 TCP三次握手 TCP建立连接为什么是三次握手,而不是两次或四次? 个人理解:因为要双方都要确定对方的网络没毛病,通讯正常。 还有一个网上看到的说法,我觉得很有意思: 我:1+1等于几? 她:2,2+2等于几? 我:4 …

    2018-04-30
  • Linux用户组管理及用户权限

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ]# who | cut -d” ” -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 ]# last | head -1  3、取出当前系统上被用户当作其默认shell的最多的那个shell。 ]# cat /etc/…

    2018-07-05