Защита паролем и шифрование: OpenSSL и tar в одну команду
Как сделать зашифрованный архив из каталога одной командой и как его потом распаковать. Без графических программ, только терминал.
Собрать каталог в зашифрованный архив средствами OpenSSL и tar удобно для бэкапов или переноса чувствительных данных.
Создание архива
Каталог backup/ упаковываем в tar, поток передаём в openssl (AES-256-CBC), результат — файл backup.enc. Пароль запросится по запросу.
tar czvf - backup/ | openssl enc -aes-256-cbc -salt -out backup.enc
Пароль можно задать и через переменную окружения (осторожно с историей и правами доступа к скрипту):
openssl enc -aes-256-cbc -salt -in - -out backup.enc -k "$PASS" < <(tar czvf - backup/)
Распаковка
openssl enc -d -aes-256-cbc -in backup.enc | tar xzvf -
Команда запросит пароль и распакует содержимое в текущий каталог.
Важно
Храните пароль в надёжном месте; без него архив не восстановить. Соль (salt) в OpenSSL по умолчанию добавляется — один и тот же пароль даёт разный шифротекст при разных запусках.
