2013-11-18

Ubuntu 用 gpg 快速加密檔案

阿舍今天突然想到一個問題, 就是,如果要用指令來加密一個檔案的話,要用什麼指令或方法哩 ? 阿舍第一個想到的方式是用 base64 和 md5sum 指令來做到,不過,後來試了一下,發現 md5sum 並不適合用來做這種事,所以,就去查看看大家都用什麼方式哩 ! 結果,主要有二種方式,一種是用 gpg 程式,而另一種就是用 openssl 囉 ! 阿舍二種都試了,覺得都還不錯用,不過,今天就先來介紹一下用 gpg 快速加密檔案的方式囉 !

© careformedia

gpg 程式在 Ubuntu 上是預載的,因此,不用特別安裝就會有的,所以,如果要加密一個檔案的話,只要用 gpg 指令加上「c」選項及要加密的檔案名稱就可以了,以阿舍要加密一個檔案名為 arthurtoday.docx 的檔案為例,操做指令如下:

gpg -c  arthurtoday.doc

輸入並執行上面的這一行指令後,接著,會出現要你輸入密碼 ( passphrase ) 的訊息,輸入二次後,gpg 就會產生一個 .gpg 檔 (如果在 X Window 的終端機來執行 gpg 的話,可能會是跳出密碼輸入視窗,而不是直接在終端機畫面輸入密碼 ) , 以阿舍上面的例子,就會產生一個 arthurtoday.doc.gpg 的檔案,這個 .gpg 檔案就是已經加密過的檔案了。

要提醒一下,輸入的密碼請不要設的太簡單或容易被猜到,否則,加密的效果就有限了,另外,這組密要記住,否則,就很麻煩了哩 !

接下來,如果要解開已加密的檔案的話,只要用「d」參數加上要解開的檔案名稱就可以了,所以,以阿舍的例子來說,就會是像下面這一行的樣子哩 ! 執行會出現要輸入密碼的訊息,只要輸入和產生加密檔時,相同的密碼,就可以解開檔案了哩 !

gpg -d arthurtoday.doc.gpg

不過,因為 gpg 不能夠直接給他一個資料夾路徑來請他把那個資料夾裡的檔案都給加密起來,因此,如果想要做整個資料夾的加密的話,那就要先請 tar 來幫忙了,也就是要先用 tar 把要加密的資料夾整個壓成一個檔案,然後,再送給 gpg 來加密囉 !

tar cvzf - ~/arthurtoday/ | gpg -c > arthurtoday.gpg

上面這一行是以阿舍要加密家目錄下的 arthurtoday 資料夾為例,先用 tar 建立壓縮檔,然後,透過管線 ( pipe ) 直接將整個壓縮檔案傳給 gpg 來處理,不過,因為是直接將壓縮檔傳給gpg 指令,所以,要把 gpg 產出的檔案轉出到一個檔案,否則,gpg 就會直接把加密過的檔案給顯示在畫面上哩 ! ....

以上就日用 gpg 指令快速建立加密檔案的方式,不過,這個 gpg 不只是這麼簡單而已哩! gpg 還可以用來產生以金鑰為基礎的加密檔案,同時,還可支援多種加密方法,如果有興趣的話的,可以參考一下 gpg 指令的  man page 囉 !

最後,在重複一下 gpg 的 man page 裡提到的提醒說明,請不要在透過 telnet 連線下的環境裡 ( 也就是在沒有加密過的遠端連線下 ) ,用 gpg 指令來加密檔案,因為這樣會很容易讓密碼在傳送過程中被截取而降低加密的效果哩 !  .... ^^=

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁