Как я могу использовать OpenSSL из Linux Terminal для шифрования всех файлов из одной папки в другую?

Привет,

Я использую OpenSSL из терминала Linux.

У меня есть папка "A", и я хочу зашифровать все файлы из этой папки в папку "B" с помощью AES256.

Кто-нибудь знает, как это сделать?

Веса

1 ответ1

1

Вероятно, вам нужна утилита openssl enc . enc позволяет выполнять различные процедуры потокового шифра. Работает только с файлами. Это не большая проблема, но сначала нам нужно заархивировать каталог, используя tar . Если мы хотим зашифровать и расшифровать, используя AES256:

Шифрование каталога

  • tar -vcf directory.tar directory/
  • openssl aes256 -salt -in directory.tar -out encrypted_dir.aes256

Расшифровать каталог

  • openssl aes256 -d -salt -in encrypted_dir.aes256 -out unencrypted.tar
  • tar --one-top-level -xvf unencrypted.tar

(Флаг --one-top-level не является строго необходимым, но он создает новый каталог с именем unencrypted куда затем попадает содержимое, что, на мой взгляд, приятно иметь).

Если вы зашифруете и расшифруете, как указано выше, вам будет предложено ввести пароль. Вы также можете использовать ключевой файл или аналогичный, просто посмотрите на man enc для более подробной информации. Также обратите внимание, что вы всегда должны использовать -salt при шифровании паролем из-за атак по словарю (на самом деле -salt по умолчанию, но это не плохая идея, чтобы убедиться в этом).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .