2016-04-09 40 views
0

我需要加密備份文件gzip。 我進行以下動作,在bash中加密和解密備份文件的簡單方法

tar -Pzcvf $dir/*.xml >/dev/null | gpg --yes --batch --passphrase PaSsW0rD -o "$bpath/$bfile".tar.gz 

但它與下面的錯誤而失敗,

 gpg: processing message failed: Unknown system error 

我只需要一個簡單的passsord保護的備份文件。任何其他解決方案也是受歡迎的。

在此先感謝

回答

0

選項1

做它自己的方式:

tar -zcvf your_tar_file_name.tar.gz "$dir"/*.xml && gpg --symmetric --cipher-algo AES256 your_tar_file_name.tar.gz 

請注意,我不希望保留絕對的名字,所以我剝奪了P從tar中選擇。這種情況下的默認輸出文件是your_tar_file_name.tar.gz.gpg

解密並獲得文件來替你可以這樣做:

gpg -o my_tar_file.tar.gz -d your_tar_file_name.tar.gz.gpg && tar -xzf my_tar_file.tar.gz 

這將使用對稱加密方案,即,我們可以使用相同的密碼解密文件。上述命令將要求您輸入密碼進行加密並確認。

如果你想使用gpg做非對稱加密看看這個tutorial

選項2

您也可以使用aescrypt

下載aescrypt從here

一旦安裝,你可以使用直接的GUI對文件進行加密。

如果您需要在命令行工具,你可以使用aescrypt命令象下面這樣:

tar zcvf your_tar_file_name.tar.gz "$dir"/*.xml && aescrypt -e -p yourstrongpassword your_tar_file_name.tar.gz 

這裏Ë是用於加密和p是密碼。輸出通常會存儲在your_tar_file_name.tar.gz.aes中。

你可以使用解密

aescrypt -d -p yourstrongpassword your_tar_file_name.tar.gz.aes 

這裏d是解密的文件your_tar_file_name.tar.gz.aes

+1

[對稱**加密的正確鏈接是這個](http://www.tutonics.com/2012/11/gpg-encryption-guide-part-4-symmetric.html)。 –