网络技术的快速发展,方便了我们的日常生活,加快了工作效率,增进了交流。网络的出现确实给我们带来了很多的便利,但网络安全问题也在时时困扰着我们。文件传输安全就是大众关注的安全问题之一,一份文件可能包含了很多的机密,一旦被黑客窃取,那损失是不可想象的。在网络安全问题日益突出的今天,如何保证Ubuntu系统的数据在传输过程中的安全性呢?本文为大家讲解在Ubuntu系统中如何对文件进行加密传输。
本文介绍基于UbuntuDesktop9.10(i386),采用GNOME集成桌面环境。并设定有两台安装了Ubuntu9.10桌面版系统的计算机Host1和Host2,都安装了OpenSSH软件包且具有相同的用户账号(为叙述方便,用户名和密码相同)。
准备工作:安装Seahorse密钥管理器插件
默认情况下,Ubuntu9.10GNOME集成桌面环境软件没有自带Seahorse密钥管理器插件(seahorse-plugins),因此在Nautilus(鹦鹉螺)文件浏览器中,选中某个文件并点击鼠标右键后,在弹出的快捷菜单中看不到“加密”与“签署”两个选项,从而无法通过图形化的界面(该插件集成在Nautilus文件浏览器中)来对文件进行加密或签署操作。
为此,我们可以使用“apt-get”命令或“新立得软件包管理器”来手动安装该插件。这里以使用命令行方式来安装为例。依次点击菜单“应用程序→附件→终端”,打开GNOME终端窗口后输入如下命令:“sudoapt-getinstallseahorse-plugins”,命令执行后即可下载并安装“seahorse-plugins”软件包。安装完成后,从当前系统注销并重新登录,即可在上文所述的快捷菜单中看到“加密”和“签署”两项(如图1所示)。
要对文件进行加密或签署,首先要创建对应用户的密钥。创建的密钥为一对,分为公钥和私钥。通常将公钥发布出去,由其他用户对文件进行加密。收到其他用户发来的加密文件后,再利用自己的私钥进行解密。
步骤一、在Host1中创建本地用户密钥
依次点击菜单“应用程序→附件→密码和加密密钥”运行Seahorse密钥管理程序。在出现的“密码和加密密钥”窗口中,点击菜单“文件→新建”,则出现“新建”密钥对话框。因为我们要加密的是文件,因此根据说明,选择创建的密钥的类型为“PGP密钥”并点击“继续”按钮进入“新建PGP密钥”对话框。在创建密钥时,需要指定用户的个人信息,如用户名、电子邮件等以及指定加密类型和密钥保密强度等(如图2所示)。填写完成后点击“创建”按钮,并输入密钥保护密码后即可创建用户密钥。
步骤二、分发公钥给Host2用户
首先,利用Seahorse密钥管理器导出刚刚创建的公钥。依次点击“密钥和加密密码”窗口中的“文件→导出”,将公钥导出后点击“保存”按钮,则在当前登录用户(testuser)的目录下生成公钥文件“testuser.asc”。接下来,我们将公钥文件传送到Host2主机中(这里以使用“scp”命令为例)。
在Host1上打开一个GNOME终端窗口,输入命令“scptestuser.Asctestuser@Host2:~/.”,执行后首先输入“y”来加入主机Host2到信任主机列表中,再输入Host2上的用户“testuser”的密码,通过后则将Host1上的“testuser.asc”文件复制到Host2主机的testuser用户目录下(/home/testuser)。Host2上的用户接收到密钥文件后,在Seahorse密钥管理器中点击“密钥和加密密码”窗口中的“文件→导入”,在当前登录用户目录下找到文件“testuser.asc”并打开,即可完成导入。
步骤三、Host2用户加密待发文件
有了Host1用户的公钥,在Host2上就可以使用它来对文件进行加密了。在Nautilus文件浏览器中,鼠标右键点击待加密文件,在弹出的快捷菜单中选择“加密”项,则弹出“选择收件人”对话框(如图3所示)。在密钥列表中将自动列出当前系统中的可用密钥,选定刚刚导入的Host1用户的公钥,并勾选其前的方框,点击“确定”按钮,则开始对文件进行加密,并生成“.pgp”文件名结尾的加盟文件(如“abc.pgp”)。
同样,使用“scp”命令将加密后的文件传送到Host1中“scpabc.pgptestuser@Host1:~/.”。
步骤四、Host1用户解密收到的文件
Host1上的用户接收到Host2用户传过来的加密文件后,在Nautilus文件浏览器中鼠标右键点击该文件,在弹出的快捷菜单中选择“使用解密文件打开”,按要求输入密钥保护密码后,程序将使用用户的私钥对文件进行解密,并在当前目录下生成解密后的文件,也就是还原出来Host2用户加密过的文件。
现在需要通过因特网进行远程文件传输的操作已经非常多,而为了保障数据安全,对数据进行加密已经是很切实的应用需求。
总结:
看过本文,相信大家对于在Ubuntu当中进行加密、解密操作已经有了初步的了解,在今后的应用过程中,大家不妨亲自尝试,以提高数据传输的安全性。
希望本文介绍的在Ubuntu下实现对文件的加密传输的方法能够对大家有所帮助,更多有关linux系统的知识还有待于读者去探索和学习。