在網絡安全問題日益突出的今天,如何保證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當中進行加密、解密操作已經有了初步的了解,在今後的應用過程中,大家不妨親自嘗試,以提高數據傳輸的安全性。