Создание зашифрованных архивов

Материал из Ай да Linux Wiki
Перейти к навигации Перейти к поиску

Иногда бывает нужно зашифровать файлы к консоли. Самый распространённый архиватор tar, сам не умеет зашифровавыать архив. Да и графические утилиты разве что могут "запаролить" zip, или rar архив, что на мой взгляд не самый лучший вариант.

Итак. Проще всего с паролем сделать zip архив:

zip -e -r test.zip test/

После ввода этой команды, zip дважды спросит пароль для архива, и запакует директорию или нужный файл. Чтобы распаковать запароленный архив можно использовать unzip:

unzip -P testpass test.zip

Если не указывать пароль, то unzip спросит его интерактивно.

К сожалению zip лишь просто будет требовать пароль. Никакого шифрования от него ждать не стоит. Поэтому лучше использовать gpg или openssl.

Создание запороленного zip архива пожалуй самое простое. С остальными утилитами, и в частности с tar дело обстоит не так хорошо. Эти программы придерживаются идеологии "делать одну вещь, но делать её хорошо", и у них нет никаких встроенных средств для шифрования, или для "запороливания" архива. Поэтому для того, чтобы получить архив с паролем, надо прибегать к помощи сторонних утилит таких как gpg или openssl, которые ещё и зашифруют содержимое архива.

Чтобы зашифровать архив с помощью gpg:

gpg -c test.tar

Gpg спросит пароль и подтверждение пароля. На выходе получим файл - test.tar.gpg. Чтобы распаковать содержимое никакой ключ к gpg не требуется:

gpg test.tar.gpg

Кроме того, таким образом не обязательно запаковывать именно архив. Можно просто зашифровать какой либо файл.

И способ с использованием openssl:

openssl des3 -salt -in test.tar -out test.tar.des3
enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:

Чтобы расшифровать:

openssl des3 -d -salt -in test.tar.des3 -out test.tar
enter des-ede3-cbc decryption password: