您的位置:首页 > 运维架构 > Linux

20170321-安全-gpg-cryptsetup

2017-03-21 00:00 134 查看
一:

对磁盘进行加密:

yum install cryptsetup -y

cryptsetup luksFormat /dev/sdh

设置密码

cryptsetup luksOpen /dev/sdh data (data为给/dev/sdh起的名字)

然后就生成了 /dev/mapper/data 以后打开之后就使用这个

创建文件系统:

mkfs -t ext3 /dev/mapper/data

挂载使用: mount /dev/mapper/data /opt/soft

用完: umount /opt/soft

cryptsetup luksClose /dev/mapper/data或者data

可以指定多个密码,密码可以设置文件密码,可以是图片之类的

在/下有一个my.png的图片 把它设为密码

cryptsetup -S 3 luksAddKey /dev/sdh /my.png -S 代表制定插入的槽

用这个密码打开:

cryptsetup -d /my.png luksOpen /dev/sdh data

查看有几个密码以及槽 :

crpytsetup luksDump /dev/sdh

增加密码:

cryptsetup luksAddKey /dev/sdh

或者指定增加在哪个槽里:

cryptsetup -S 4 luksAddKey /dev/sdh

删除密码:

cryptsetup luksRemoveKey /dev/sdh

然后输入要删除的密码

或者删除哪个槽里的密码:

cryptsetup luksKillSlot /dev/sdh 1

设置开机自动Open 以及自动挂载

vim /etc/crypttab

data /dev/sdh /my.png (第一个是设备名字,第二个是设备,第三个是设备的文件密码)

保存退出

vim /etc/fstab

/dev/mapper/data /mnt ext3 defaults 0 0

保存退出

二:给rpm签名:

vim ~/.rpmmacros

%_gpg_name 37A71D51(代表key的uid)

保存退出

1:在制作rpm包的时候就签名

rpmbuild -bb --sign ~/rpmbuild/SPCES/hello.spec

2:rpm包已经制作好了再签名:

rpm --addsign xb.0.10.rpm 或者 rpm --resign xb.0.10.rpm

将public key 导出:

gpg -a -o tom.pub.txt --export 37A71D51

将public key 导入仓库:

rpm --import tom.pub.txt

查看public key :

rpm -qa | grep pubkey

或者在 /etc/yum.repo.d/iso.repo 里面 加入:

gpgcheck=1

gpgkey=/opt/soft/tom.pub.txt (这里写pubkey的绝对路径)

三:加密

对称加密:zip -e pgp -c abc.txt

vim 对文件加密 :X(冒号大X)

非对称加密:gpg

生成gpg密钥: 用ssh生成,不用su,不然会出错

gpg --gen-key

gpg -k 查看公钥信息

gpg -K 查看私钥信息

导出公钥:

gpg -o tom.pub --export 05F03215(代表uid) 二进制的 -o 指定导出的内容放到哪里

gpg -a -o tom.pub --export 05F03215 明文的 -a 代表导出内容为明文的

nacy将tom的公钥导入:

gpg --import tom.pub

使用tom的pubkey对abc.txt文件进行加密:

gpg -o abc.txt.secret -e -r "tom@up.com" abc.txt

加密的同时签名: gpg -o abc.txt.secret -se -r "tom@up.com" abc.txt

明文加密:gpg -a -o abc.txt.secret -e -r "tom@up.com" abc.txt

tom 解密:gpg -o abc.txt2 -d abc.txt.secret

删除key: gpg --delete key

编辑公钥匙: gpg --edit-key

从服务器上搜索公钥:gpg --search-keys

gpg --recv-keys 下载key并自动导入

上传key到服务器:gpg --send-keys

对公钥进行签名:gpg --sign-key

对文件进行签名: gpg -s xyz.txt

明文签名并且保留文件内容:

gpg -o xyz.txt.plain --clearsign -s xyz.txt 这里可以不用加-a 也是明文的

验证签名: gpg --verify abc.asc abc.tar.gz

当签名文件的名字和包的名字相同时可以直接这样: gpg --verify abc.asc

独立文件和签名,生成单独的签名文件:

gpg --detach-sign

!!!!公钥用来加密,私钥用来签名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux gpg cryptsetup rpm