Создание зашифрованных архивов
Иногда бывает нужно зашифровать файлы к консоли. Самый распространённый архиватор 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: