怎樣用Tar和OpenSSL給文件和目錄加密及解密
當你有重要的敏感數據的時候,給你的文件和目錄額外加一層保護是至關重要的,特別是當你需要通過網絡與他人傳輸數據的時候。
由于這個原因,我在尋找一個可疑在 Linux 上加密及解密文件和目錄的實用程序,幸運的是我找到了一個用 tar(Linux 的一個壓縮打包工具)和 OpenSSL 來解決的方案。借助這兩個工具,你真的可以毫不費力地創建和加密 tar 歸檔文件。
在這篇文章中,我們將了解如何使用 OpenSSL 創建和加密 tar 或 gz(gzip,另一種壓縮文件)歸檔文件:
牢記使用 OpenSSL 的常規方式是:
- # openssl command command-options arguments
在 Linux 中加密文件
要加密當前工作目錄的內容(根據文件的大小,這可能需要一點時間):
- # tar -czf - * | openssl enc -e -aes256 -out secured.tar.gz
上述命令的解釋:
- enc - openssl 命令使用加密進行編碼
- -e – 用來加密輸入文件的 enc 命令選項,這里是指前一個 tar 命令的輸出
- -aes256 – 加密用的算法
- -out – 用于指定輸出文件名的 enc 命令選項,這里文件名是 secured.tar.gz
在 Linux 中解密文件
要解密上述 tar 歸檔內容,使用以下命令。
- # openssl enc -d -aes256 -in secured.tar.gz | tar xz -C test
上述命令的解釋:
- -d – 用于解密文件
- -C – 提取內容到 test 子目錄
下圖展示了加解密過程,以及當你嘗試執行以下操作時會發生什么:
- 以傳統方式提取 tar 包的內容
- 使用了錯誤的密碼的時候
- 當你輸入正確的密碼的時候
在 Linux 中加密和解密 Tar 歸檔文件
當你在本地網絡或因特網工作的時候,你可以隨時通過加密來保護你和他人共享的重要文本或文件,這有助于降低將其暴露給惡意攻擊者的風險。
我們研究了一種使用 OpenSSL(一個 openssl 命令行工具)加密 tar 包的簡單技術,你可以參考它的手冊頁(man page)來獲取更多信息和有用的命令。