Linux
使用 openssl 和 tar 加密磁帶文件
我正在嘗試通過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
當然,這將是一個糟糕的永久解決方案,但請嘗試使用此方法進行調試。