前一阶段看了一些关于数据安全,系统安全,以及社会工程学的书籍,突然觉得数据加密是一项十分重要的工作,由其是公司的敏感数据、商业机密,或者个人的重要文件都应该随时进行加密;就算是平时的备份数据也要进行合理的加密,以保证数据安全。VeraCrypt是目前一款比较流行,而且安全性和效能都比较好的软件,最重要是的开源、免费,并不断进行更新。
此前我一直在使用Veracrypt的Windows版本,效果不错。Mac、Linux也有图形化的版本,因为使用比较简单,这里就不进行介绍了。这里主要是介绍Veracrypt的Linux console也就是命令行版本的命令的使用,这也是我们平时在运维中的主要操作环境。
这篇文档是介绍如何使用Veracrypt命令的第一部分,这里介绍安装及加密单个磁盘。后面会分几个部分逐渐深入介绍Veracrypt中相关的概念、Veracrypt命令的用法及自动化处理磁盘的加密和解密等等。

一、准备实验环境

1、在VirtualBox中安装好CentOS 6.8并升级到最新版本后,关机;
2、在该虚拟机中添加一块新的磁盘,建议大小为8GB因为在使用VeraCrypt加密的时候,虽然你在新建虚拟磁盘时设置了“动态分配”虚拟磁盘大小,但虚拟磁盘所占用的空间大小和你设置的大小会一样大。
如图:

二、安装VeraCrypt

(一)、下载安装包并解压

VeraCrypt最新版本为1.19,单击此处进入项目主页
在下载页面找到Linux安装包,如图:

使用wget命令下载安装包:

cd /usr/local/src
wget https://launchpad.net/veracrypt/trunk/1.19/+download/veracrypt-1.19-setup.tar.bz2

解压文件:

tar -jxvf veracrypt-1.19-setup.tar.bz2

解压后有四个文件:

(二)、安装

因为我安装的CentOS是64位的,并且没有安装GUI,所以安装veracrypt-1.19-setup-console-x64

./veracrypt-1.19-setup-console-x64
1、选择安装模式

安装程序弹出提示:问你是安装veracrypt(选项1)还是将安装包解压到/tmp目录下,这里选择“1”,并回车:

VeraCrypt 1.19 Setup
____________________Installation options:1) Install veracrypt_1.19_console_amd64.tar.gz2) Extract package file veracrypt_1.19_console_amd64.tar.gz and place it to /tmpTo select, enter 1 or 2:
2、查看并接受用户许可

接下来弹出提示,让你输入回车查看用户许可:

Before you can use, extract, or install VeraCrypt, you must accept the
terms of the VeraCrypt License.Press Enter to display the license terms...

单击回车后就可以看到用户许可的全文,如果不想看完,可以按q退出; 这时程序会问你是否接受许可,输入yes.

Do you accept and agree to be bound by the license terms? (yes/no): yesUninstalling VeraCrypt:
-----------------------To uninstall VeraCrypt, please run 'veracrypt-uninstall.sh'.Installing package...
usr/
usr/share/
usr/share/veracrypt/
usr/share/veracrypt/doc/
usr/share/veracrypt/doc/License.txt
usr/share/veracrypt/doc/VeraCrypt User Guide.pdf
usr/share/pixmaps/
usr/share/pixmaps/veracrypt.xpm
usr/share/applications/
usr/share/applications/veracrypt.desktop
usr/bin/
usr/bin/veracrypt
usr/bin/veracrypt-uninstall.shPress Enter to exit...

此时,输入回车就完成安装。

3、验证安装

输入如下命令:

[root@localhost src]# veracrypt --version
VeraCrypt 1.19

如果此时程序出现如下错误提示

[root@localhost src]# veracrypt -version
veracrypt: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory

则需要安装fuse-libs

yum install -y fuse-libs

三、创建整个加密硬盘

现在使用fdisk -l命令就可以看到我们之前添加的那块8GB的虚拟硬盘:

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

目前还没有进行分区操作。
其实我们也没有必要对待加密的整个磁盘进行分区操作,除非我们只是想加磁盘的一部分进行加密操作的话,那么可以先对磁盘进行分区,然后使用veracrypt针对某一分区进行加密。

(一)创建加密硬盘

创建加密硬盘使用veracrypt -t -c
-t的意思是使用文件向导创建加密盘,-c的意思是create创建加密盘

1、启动加密盘创建向导
[root@localhost src]# veracrypt -t -c
Volume type:1) Normal2) Hidden
Select [1]: 1

这里面是创建普通加密盘,还是隐藏加密盘。这里选择第1项,创建普通加密盘

2、输入待加密磁盘的路径

向导会提示你输入加密的磁盘路径,由于我们这里是加密整块硬盘,然后只输入设备名,不用输入分区名:

Enter volume path: /dev/sdb
3、选择加密算法

接下来,向导会提示你选择加密算法和哈希算法,这里我们选择AES SHA-512:

Encryption Algorithm:1) AES2) Serpent3) Twofish4) Camellia5) Kuznyechik6) AES(Twofish)7) AES(Twofish(Serpent))8) Serpent(AES)9) Serpent(Twofish(AES))10) Twofish(Serpent)
Select [1]: 1Hash algorithm:1) SHA-5122) Whirlpool3) SHA-2564) Streebog
Select [1]: 1
4、选择加密后的文件系统格式

由于我们将加密磁盘用于Linux系统的,因此选择Linux Ext4

Filesystem:1) None2) FAT3) Linux Ext24) Linux Ext35) Linux Ext46) NTFS7) exFAT
Select [2]: 5
5、输入密码
Enter password:
WARNING: Short passwords are easy to crack using brute force techniques!We recommend choosing a password consisting of 20 or more characters. Are you sure you want to use a short password? (y=Yes/n=No) [No]: yesRe-enter password:

由于我这里用于演示的密码太短,系统提示我当前密码很容易被暴力破解,建议使用20个字符以上的密码,是否还要使用当前密码。这里输入yes
接着系统会让你再次输入一次密码:Re-enter password:

6、输入PIM

接下来系统会让你输入PIM。

Enter PIM:

这个PIM是什么?我上网查了一下,就是Personal Iterations Multiplier”的缩写。通俗地说就是:你可以自定义“加密盘的头部密钥生成时的迭代次数”。这个“迭代次数”越大,计算头部密钥的时间就越长,因此挂载加密盘的过程就越慢;表面上看,这是一个缺点。但其好处在于:如果某个攻击者想要采用暴力破解的方式对“头部”进行穷举解密,每次一次尝试也同样需要花很长时间(同样要迭代 N 次)。所以,当 N 足够大,暴力破解就变得不可行。
如果你设置的密码过于简短,那么 VeraCrypt 会强制让你输入一个比较大的 PIM 数值(大于 485, 但是要小于2147468)。
如果你创建加密盘的时候,指定了 PIM 数值,那么在挂载的时候,需要输入【相同的】PIM 数值。 如果输入的数值与创建时指定的 PIM 数值不一致,则挂载失败。
这里我们直接回车就可以.

7、输入keyfile

接下来,指定keyfile

Enter keyfile path [none]:

这里我们先不指定,所以直接回车。

8、输入320个随机字符

在键盘上随意输入字符,如果不知道输入的数量够不够,可以回车,向导就会提示你还剩多少个字符没有输入了:

Please type at least 320 randomly chosen characters and then press Enter:
Characters remaining: 277
Characters remaining: 172
Characters remaining: 88
Characters remaining: 31

当输入的随机字符数量符合要求后,向导就开始创建加密盘了:

Done:   9.946%  Speed:   89 MB/s  Left: 81 s

全部完成后会有如下提示

Done: 100.000%  Speed:   88 MB/s  Left: 0 sThe VeraCrypt volume has been successfully created.

(二)挂载加密磁盘

1、挂载加密磁盘

挂载由veracrypt加密的磁盘和挂载普通磁盘的命令不一样,不能使用mount
在未挂载前使用fdisk -l命令查看的话,磁盘还是没有分区和格式化的状态:

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x330ad122

在这种状态下是没有办法使用mount命令的。

正确的方法是使用命令 veracrypt /dev/sdb /mnt

[root@localhost src]# veracrypt /dev/sdb /mnt
Enter password for /dev/sdb:
Enter PIM for /dev/sdb:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]:

这时系统会提示是输入加密磁盘时预留的密码,后三项可以直接回车略过。

2、查看磁盘挂载情况

这里再使用fdisk -l命令查看的话,在原来的磁盘/dev/sda/dev/sdb的基础上会多出一个/dev/mapper/veracrypt1磁盘,这就是挂载上来加密磁盘:

Disk /dev/mapper/veracrypt1: 8589 MB, 8589672448 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

使用 df -h命令查看可以看到/dev/mapper/veracrypt1已经挂载到/mnt目录上了。

[root@localhost src]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              47G 1001M   43G   3% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/sda1             976M   80M  845M   9% /boot
/dev/mapper/veracrypt17.8G   18M  7.4G   1% /mnt
3、尝试访问和写入文件
[root@localhost src]# cd /mnt
[root@localhost mnt]# ll
总用量 16
drwx------. 2 root root 16384 2月   6 21:35 lost+found
[root@localhost mnt]# touch 1.txt
[root@localhost mnt]# ll
总用量 16
-rw-r--r--. 1 root root     0 2月   6 21:48 1.txt
drwx------. 2 root root 16384 2月   6 21:35 lost+found
[root@localhost mnt]# echo "text" >2.txt
[root@localhost mnt]# ll
总用量 20
-rw-r--r--. 1 root root     0 2月   6 21:48 1.txt
-rw-r--r--. 1 root root     5 2月   6 21:49 2.txt
drwx------. 2 root root 16384 2月   6 21:35 lost+found

没有问题,挂载成功。

(三)卸载加密硬磁盘

既然挂载加密磁盘有专用的命令,那么卸载加密磁盘也一定有专用的命令:

veracrypt -d /mnt

如果要卸载系统中挂载的全部veracrypt加密磁盘,则使用:

veracrypt -d

不指定挂载目录即可。
再次查看系统中已经挂载的磁盘:

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        47G 1001M   43G   3% /
tmpfs           939M     0  939M   0% /dev/shm
/dev/sda1       976M   80M  845M   9% /boot

veracrypt加密磁盘已经被卸载掉了。

CentOS中使用VeraCrypt(一):安装及创建整个加密硬盘相关推荐

  1. CentOS中使用VeraCrypt:安装及创建整个加密硬盘

    安装VeraCrypt (一).下载安装包并解压 VeraCrypt最新版本为1.19,单击此处进入项目主页 在下载页面找到Linux安装包,如图: 这里写图片描述 使用wget命令下载安装包: cd ...

  2. Centos中下载yum源安装sl实现跑火车

    Centos中下载yum源安装sl实现跑火车 描述 sl命令不同于ls命令,sl命令是以动画形式呈现小火车的趣味性命令,虽无实用价值,但亦可陶冶情操,愉悦心情. 安装 ##下载yum源(Centos ...

  3. linux卸载 bind,Linux CentOS中 BT下载客户端 安装及卸载方法 Transmission

    Linux中 BT下载安装方法 Transmission transmission BT下载一键安装脚本(代码不换行) wget -N --no-check-certificate https://r ...

  4. CentOS中使用VeraCrypt(四):进阶操作

    一.使用PIM和keyfile (一).生成keyfile 执行如下命令: veracrypt --create-keyfile /root/veracrypt_keyfile \ --random- ...

  5. CentOS中使用VeraCrypt(二):加密卷类型

    一.加密卷类型介绍 在使用向导创建加密磁盘的第一步就是让我们选择加密卷的类型.使用向导创建VeraCrypt加密磁盘请单击此处 [root@localhost src]# veracrypt -t - ...

  6. Eclipse中spring boot的安装和创建简单的Web应用

    1.添加STS插件 方法一 1.Help -> Eclipse Marketplace- 2.选择"Popular"标签去查找Spring Tool Suite (STS) ...

  7. pycharm中scrapy库的安装以及创建

    python中scrapy库应用实例 首先,你已经安装好了pycharm 第一步,安装库,我们要知道pycharm有非常好用的库的安装,我们点击file->settings----->进入 ...

  8. CentOS中nginx下载及安装

    1.安装centos平台编译环境 使用如下指令 1.安装make:yum -y install gcc automake autoconf libtool make 2.安装g++:yum insta ...

  9. CentOS中VMware tools的安装以及安装失败的解决办法,java架构师视频课程

    我们输入命令cd /home 回车 然后在ll查看home下的文件,这时我们可以看到home下的VMware Tools ![在这里插入图片描述](https://img-blog.csdnimg.c ...

最新文章

  1. 信阳学院大一计算机考试题库,韩山师范学院大一计算机考试题库网页制作的试题...
  2. Java面试题整理,连续四年百度Java岗必问面试题
  3. c# socket接收字符串_Python高级编程之 Socket 编程
  4. 原创 | 为什么阿里巴巴要求谨慎使用ArrayList中的subList方法
  5. sun.misc.unsafe类的使用
  6. oracle雇主联盟官网,ocm联盟线下分享会圆满结束!
  7. 在React / React Native中使用构造函数与getInitialState有什么区别?
  8. UVA11565 Simple Equations【数学+暴力】
  9. 对极域64位禁止终止进程、键盘锁定的分析
  10. 原子结构示意图全部_所有原子结构示意图(1-118号)最新元素周期表
  11. 迈捷php邮箱系统源码,10分钟临时邮箱源码-php bccto.me的php版本源码 windows主机即可 - 下载 - 搜珍网...
  12. 【托业】【新托业TOEIC新题型真题】学习笔记11-题库六-P7
  13. C语言 求5分2分1分硬币
  14. VScode远程root权限调试
  15. Microsoft 工作账户无法删除 解决方法
  16. IE6中常见兼容性问题及浏览器显示难题
  17. MT6735和MT6737芯片资料下载,哪个好?
  18. 新一代医院信息系统(NGHIS)设计(2)——基础集成平台(I)
  19. zarchiver解压提示出错_zarchiver解压操作出错怎么办 zarchiver解压操作出错解决办法...
  20. java测试开发工程师,必须要明白的几处知识(附面试问题)

热门文章

  1. 显卡超了100测试软件黑屏,win10更新后,桌面窗口管理器间歇性占用GPU3D 100%,此时系统卡顿,黑屏...
  2. C++常用头文件——常用数学函数头文件
  3. 关于springmvc框架的web工程,从.xml到.java再到.jsp显示到网页上的过程,以及jsp静态文件的访问
  4. Qgis 如何根据范围来裁剪地图,高程图等
  5. java shp文件_java发布shp数据
  6. 零知开发板和红外人体感应模块使用
  7. Acrobat右键菜单失踪了?Regsvr32无用?
  8. 机器学习经典算法---线性回归(Linear Regression)算法
  9. 【ValueError: could not convert string to float: ‘young‘】python利用pandas对string类型的数据序列化
  10. 天梯L1-015 跟奥巴马一起画方块 (15 分)(Java)