Linux

使用 openssl 和 tar 加密磁帶文件

  • June 5, 2017

我正在嘗試通過openssl管道輸出來為我目前的磁帶備份腳本添加加密,目前我有:

tar -czpvf /dev/nst0 /home /otherdir

所以添加 openssl 給出了這個:

tar czpvf - /home /otherdir | openssl aes-256-cbc -e -salt -pass file:/my_passwd > /dev/nst0

這不會給出任何錯誤,但是我可以在網上找到進行解密的唯一方法是:

dd if=/dev/nst0 conv=sync | openssl aes-256-cbc -d -salt -pass file:/my_passwd | tar xzpvf -

這給出了正確的文件列表,但我得到:

bad decrypt 8340:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:461:

每次。

我能做些什麼來解決這個問題?

我認為這可能與使用分組密碼有關。

當我這樣做時,我會收到類似的錯誤:

$ tar czpvf - /test/directory |openssl aes-256-cbc -e -salt -pass pass:password | dd of=/tmp/foo.encrypted.tgz
$ dd if=/tmp/foo.encrypted.tgz conv=sync | openssl aes-256-cbc -d -salt -pass pass:password |tar xzpvf -

但是當我使用像 rc4 這樣的流式密碼時,例如:

$ tar czpvf - /test/directory |openssl rc4 -e -salt -pass pass:fred | dd of=/tmp/foo.encrypted.tgz

我沒有得到那個錯誤。

大多數時候,我看到來自 OpenSSL 的那種錯誤消息是由於密碼錯誤。如果在解密行進行file:/my_passwd替換可以暫時嘗試嗎?pass:yourpassword當然,這將是一個糟糕的永久解決方案,但請嘗試使用此方法進行調試。

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