在网络安全问题日益突出的今天,如何保证Ubuntu系统的数据在传输过程中的安全性呢?本文为大家讲解在Ubuntu系统中如何对文件进行加密传输。Ubuntu文件加密传输方法及步骤如下:
本文介绍基于Ubuntu Desktop 9.10(i386),采用GNOME集成桌面环境。并设定有两台安装了Ubuntu 9.10桌面版系统的计算机Host1和Host2,都安装了OpenSSH软件包且具有相同的用户账号(为叙述方便,用户名和密码相同)。
准备工作:安装Seahorse密钥管理器插件
默认情况下,Ubuntu 9.10 GNOME集成桌面环境软件没有自带Seahorse密钥管理器插件(seahorse-plugins),因此在Nautilus(鹦鹉螺)文件浏览器中,选中某个文件并点击鼠标右键后,在弹出的快捷菜单中看不到“加密”与“签署”两个选项,从而无法通过图形化的界面(该插件集成在Nautilus文件浏览器中)来对文件进行加密或签署操作。
为此,我们可以使用“apt-get”命令或“新立得软件包管理器”来手动安装该插件。这里以使用命令行方式来安装为例。依次点击菜单“应用程序→附件→终端”,打开GNOME终端窗口后输入如下命令:“sudo apt-get install seahorse-plugins”,命令执行后即可下载并安装“seahorse-plugins”软件包。安装完成后,从当前系统注销并重新登录,即可在上文所述的快捷菜单中看到“加密”和“签署”两项(如图1所示)。
要对文件进行加密或签署,首先要创建对应用户的密钥。创建的密钥为一对,分为公钥和私钥。通常将公钥发布出去,由其他用户对文件进行加密。收到其他用户发来的加密文件后,再利用自己的私钥进行解密。
步骤一、在Host1中创建本地用户密钥
依次点击菜单“应用程序→附件→密码和加密密钥”运行Seahorse密钥管理程序。在出现的“密码和加密密钥”窗口中,点击菜单“文件→新建”,则出现“新建”密钥对话框。因为我们要加密的是文件,因此根据说明,选择创建的密钥的类型为“PGP密钥”并点击“继续”按钮进入“新建PGP密钥”对话框。在创建密钥时,需要指定用户的个人信息,如用户名、电子邮件等以及指定加密类型和密钥保密强度等(如图2所示)。填写完成后点击“创建”按钮,并输入密钥保护密码后即可创建用户密钥。
步骤二、分发公钥给Host2用户
首先,利用Seahorse密钥管理器导出刚刚创建的公钥。依次点击“密钥和加密密码”窗口中的“文件→导出”,将公钥导出后点击“保存”按钮,则在当前登录用户(testuser)的目录下生成公钥文件“testuser.asc”。接下来,我们将公钥文件传送到Host2主机中(这里以使用“scp”命令为例)。
在Host1上打开一个GNOME终端窗口,输入命令“scp testuser.Asc testuser@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中“scp abc.pgp testuser@Host1:~/.”。
步骤四、Host1用户解密收到的文件
Host1上的用户接收到Host2用户传过来的加密文件后,在Nautilus文件浏览器中鼠标右键点击该文件,在弹出的快捷菜单中选择“使用解密文件打开”,按要求输入密钥保护密码后,程序将使用用户的私钥对文件进行解密,并在当前目录下生成解密后的文件,也就是还原出来Host2用户加密过的文件。
现在需要通过因特网进行远程文件传输的操作已经非常多,而为了保障数据安全,对数据进行加密已经是很切实的应用需求。看过本文,相信大家对于在Ubuntu当中进行加密、解密操作已经有了初步的了解,在今后的应用过程中,大家不妨亲自尝试,以提高数据传输的安全性。