zoukankan      html  css  js  c++  java
  • 密钥运用小实例

    一、非对称密码运用

    1、# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch (下载公钥)

    # vim /etc/yum.repos.d/elasticsearch.repo

    [elasticsearch-2.x]
    name=Elasticsearch repository for 2.x packages
    baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
    gpgcheck=1  (红帽公司私钥加密好,再用公钥解密)
    gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
    enabled=1

    2、要求把211机子 /etc/fstab 文件加密传到132机子 ,只能由132解开。

    [root@elk-node1 ~]# gpg  --gen-key
    gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Please select what kind of key you want:
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (sign only)
       (4) RSA (sign only)
    Your selection? 1
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048)
    Requested keysize is 2048 bits
    Please specify how long the key should be valid.
             0 = key does not expire
          <n>  = key expires in n days
          <n>w = key expires in n weeks
          <n>m = key expires in n months
          <n>y = key expires in n years
    Key is valid for? (0)
    Key does not expire at all
    Is this correct? (y/N) y

    GnuPG needs to construct a user ID to identify your key.
    Real name: zjz
    Name must be at least 5 characters long
    Real name: zjzzjz
    Email address:
    Comment:
    You selected this USER-ID: "zjzzjz"
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
    You need a Passphrase to protect your secret key.
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.

     

     

    gpg: /root/.gnupg/trustdb.gpg: trustdb created   gpg: key 5686364C marked as ultimately trusted
    public and secret key created and signed.
    gpg: checking the trustdb
    gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    pub   2048R/5686364C 2019-09-20
    Key fingerprint = 23D3 6C44 4395 19F1 36EE  2069 998D 2612 5686 364C
    uid             zjzzjz (github) <fan@qq.com>
    sub   2048R/59953D36 2019-09-20

    [root@elk-node1 ~]# cd .gnupg/
    [root@elk-node1 .gnupg]# ls
    gpg.conf           pubring.gpg(公钥)     random_seed     S.gpg-agent
    private-keys-v1.d     pubring.gpg~     secring.gpg(私钥)    trustdb.gpg

    [root@elk-node1 .gnupg]# gpg -a  --export  -o  zjz.pubkey  (-o指定文件,自己定,export导出公钥)
    [root@elk-node1 .gnupg]# cat   zjz.pubkey
    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: GnuPG v2.0.22 (GNU/Linux)
    mQENBF2ESysBCACw4/06u2L7vPsHsfNvI+h98llPbfLJ20fkf2bj8rM4cChRV0po
    .......省略
    4qAXe+TqCHYb2hWGA7RV3wf1MGATMkSc3+g5/d3Qz2nLNt1b3vHXIYuJJM2ymPf
    =d+xw
    -----END PGP PUBLIC KEY BLOCK-----

    [root@elk-node1 .gnupg]# scp zjz.pubkey 192.168.40.211:/data   (传给211)
    root@192.168.40.211's password:
    zjz.pubkey                             100% 1715     1.4MB/s   00:00

    211机子也生成自己的公钥(方法同上)

    #mv /etc/fstab  /data

    [root@elk-node2 ~]# cd /data/
    [root@elk-node2 data]# ls
     fstab  zjz.pubkey
    [root@elk-node2 data]# gpg ---import /data/zjz.pubkey  (导入132的公钥)
    gpg: invalid option "---import"
    [root@elk-node2 data]# gpg --import /data/zjz.pubkey
    gpg: 密钥 5686364C:公钥“zjzzjz (github) <fan@qq.com>”已导入
    gpg: 合计被处理的数量:1
    gpg:           已导入:1  (RSA: 1)

    [root@elk-node2 data]# gpg --list-keys (列出当前有的公钥)
    /root/.gnupg/pubring.gpg
    ------------------------
    pub   2048R/3CE68E6E 2019-09-20
    uid                  qianfeng (211)
    sub   2048R/C889590A 2019-09-20

    pub   2048R/5686364C 2019-09-20
    uid                  zjzzjz (github) <fan@qq.com>(132)
    sub   2048R/59953D36 2019-09-20

    [root@elk-node2 .gnupg]# cd
    [root@elk-node2 ~]# cd /data/
    [root@elk-node2 data]# ls
     fstab  zjz.pubkey
    [root@elk-node2 data]# gpg -e -r zjz.pubkey fstab  (使用132机子公钥加密fstab)
    gpg: 59953D36:没有证据表明这把密钥真的属于它所声称的持有者(之前创建公钥没输入密码)
    pub  2048R/59953D36 2019-09-20 zjzzjz (github) <fan@qq.com>
     主钥指纹: 23D3 6C44 4395 19F1 36EE  2069 998D 2612 5686 364C
     子钥指纹: 7DA0 92A3 0D4F D483 91DE  469C 5543 AFC5 5995 3D36
    这把密钥并不一定属于用户标识声称的那个人。如果您真的知道自
    己在做什么,您可以在下一个问题回答 yes。
    无论如何还是使用这把密钥吗?(y/N)y
    [root@elk-node2 data]# ls
    es-data  fstab  fstab.gpg  zjz.pubkey

    [root@elk-node2 data]# scp fstab.gpg 192.168.40.132:/data/
    [root@elk-node1 data]# gpg -d fstab.gpg  (自动用私钥解密)
    gpg: encrypted with 2048-bit RSA key, ID 59953D36, created 2019-09-20
    。。。。。。省略
    UUID=c58d6c48-302e-4c42-a700-7590de2926f6 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0

    到此实验成功

    注:成密钥时候卡住了:解决办法(新开一个终端)

    #yum -y install  rng-tools

    #rngd -r /dev/urandom

    3、ssh-genkey

    二、对称密码运用

    211机子:

    [root@elk-node2 ~]# mkdir /aaa
    [root@elk-node2 ~]# cd /aaa/
    [root@elk-node2 aaa]# vim bb
    [root@elk-node2 aaa]# ls
    bb
    [root@elk-node2 aaa]# gpg    -c   bb
    [root@elk-node2 aaa]# ls
    bb  bb.gpg

     输入两次密码

    132机子:

    [root@elk-node1 ~]# scp -r 192.168.40.211:/aaa/bb.gpg  .
    root@192.168.40.211's password:
    bb.gpg                                 100%   46     0.5KB/s   00:00    
    [root@elk-node1 ~]# ls
    anaconda-ks.cfg  bb.gpg  elsfk.sh  homework2.0.sh
    [root@elk-node1 ~]# cat bb.gpg
    뺲(#K·⇝ԯHAOᄆ>¨¢±琳Y㶽6Xn/[root@elk-node1 ~]#

    [root@elk-node1 ~]# gpg -o bb -d bb.gpg

    [root@elk-node1 ~]# gpg -o bb -d bb.gpg

    gpg: CAST5 encrypted data
    gpg: encrypted with 1 passphrase
    gpg: WARNING: message was not integrity protected
    [root@elk-node1 ~]# ls
    anaconda-ks.cfg  bb  bb.gpg  elsfk.sh  homework2.0.sh
    [root@elk-node1 ~]# cat bb
    2019

  • 相关阅读:
    How to set up a Headless Chrome Node.js server in Docker
    ozone chromium headless
    编译 chromium 的老版本
    chrome单元测试 单独编译 chromium的Gtest
    HTTP协议header中Content-Disposition中文文件名乱码
    windows 10 cmd 窗口 不支持中文 中文乱码 默认gbk 需要改为utf8 临时修改:CHCP 65001
    ubuntu查看core dumped的详细错误原因
    Ubuntu18.04 图形界面 切换 命令行
    Headless Chromium
    添加chromium mojom调用
  • 原文地址:https://www.cnblogs.com/zjz20/p/11555575.html
Copyright © 2011-2022 走看看