shell 如何在创建TAR存档后加密

6jjcrrmo  于 2023-05-18  发布在  Shell
关注(0)|答案(3)|浏览(189)

如何使用密码加密TAR文件。
尝试将TAR存档内容与文件系统进行比较,但我们正在加密TAR。想先比较TAR文件然后加密。

# tar -cvf compare1.tar compare/*
# tar --compare --file=compare1.tar compare/*

# tar --compare --file=compare1.tar compare/*
tar: compare/test: Not found in archive

加密TAR文件

# tar --compare --file=ArchiveVerify.tar compare
tar: This does not look like a tar archive
tar: Skipping to next header
tar: compare: Not found in archive
tar: Exiting with failure status due to previous errors
vdzxcuhz

vdzxcuhz1#

要用密码加密tar文件,你需要使用gpg。
加密:

tar czvpf - file1.txt file2.pdf file3.jpg \
 | gpg --symmetric --cipher-algo aes256 -o myarchive.tar.gz

解密:

gpg -d myarchive.tar.gz.gpg | tar xzvf -

有关更多信息,请参阅:
https://www.putorius.net/how-to-create-enrcypted-password.html

eoigrqb6

eoigrqb62#

要使用密码加密tar,您也可以使用openssl。
加密:

tar -cO a/ | openssl enc -aes-256-cbc  -md md5 -pass pass:mypassword > a.bin

解密:

openssl enc -d -aes-256-cbc  -md md5 -pass pass:mypassword -in a.bin  | tar -x

如果要将密码存储在文件中,请使用下面的命令。您应该在上面的命令中将-pass pass:derp更改为-pass file:my.key

openssl rand -out my.key 128
mspsb9vt

mspsb9vt3#

如果你使用age(例如Mozilla Sops,它需要将密钥放入$HOME/.config/sops/age/keys.txt中),你可以像这样加密tar.gz文件:

age -r public-key -a myarchive.tar.gz > myarchive.tar.gz.age

公钥在生成密钥对时按年龄显示,并作为注解出现在keys.txt文件中。
然后可以像这样解密:

age -d -i ~/.config/sops/age/keys.txt < myarchive.tar.gz.age | tar tvf

相关问题