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

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code