Openssl

tar 到帶加密的磁帶和文件

  • November 9, 2011

我正在嘗試使用 tar 和 openssl 加密我們的磁帶備份,但也寫入本地文件,到目前為止我有:

tar --total -czp ./tmp ./home | tee /tmp/Archive.tar.gz | tee > /dev/nst0

我不確定這是否是正確的tee語法,但它有效,因為

tar -tzvf /dev/nst0

tar -tzvf /tmp/Archive.tar.gz

給出正確的結果。

但是,如果我嘗試使用 openssl 添加加密:

tar --total -czp ./tmp ./home | openssl aes-256-cbc -e -salt -pass file:/encrp_file  | tee /tmp/Archive.tar.gz | tee > /dev/nst0

我得到:

tee: standard output: Invalid argument
tee: write error

我假設輸出中有一些東西openssl導致tee它寫入磁帶時出現問題,因為文件創建正確,如果我刪除輸出tee並將其發送到磁帶,它也可以工作。

有什麼建議麼?

這些是我的家庭備份腳本中的相關行:

tar czfTP - $FILELIST --use-compress-program xz | openssl bf -salt -pass file:passkey.txt | tee /backup/location/file_name.txz.bfe | dd bs=10k of=/dev/tape

您可以創建備份文件並稍後將它們複製到磁帶

dd if=/backup/file.tar of=/dev/tap bs=10k

還有很多其他可能的組合。我正在使用 Blowfish 加密,看起來你想要 AES,但這很容易換掉。我知道其他人通常使用 GPG 而不是 OpenSSL。也可以設置非對稱密鑰(AES 或 DSS)以生成唯一的會話密鑰並將其添加到文件流中,但這有點複雜,並且也使得解析加密文件更加複雜。但它對於備份將被運送到場外並且您不希望現場人員能夠篡改備份的環境非常有用。

引用自:https://serverfault.com/questions/329271