Вернуться назад

Работа с резервными копиями Ispmanager5

КАК ВОССТАНОВИТЬ ШИФРОВАННЫЕ ФАЙЛЫ ВРУЧНУЮ?

Если вы настроили шифрование, и объем бэкапа < 100МБ., то соответствующий файл будет выглядеть примерно вот так: F2018-09-16.www-root.tgz.aes. Чтобы его расшифровать, необходимо:

  • либо сделать это на сервере, прямо из консоли ISP-менеджера примерно вот такой командой:

openssl enc -aes-256-cbc -d -in /var/www/www-root/data/www/test/I2019-02-01.www-root.tgz.aes -out /var/www/www-root/data/www/test/I2019-02-01.www-root.tgz -pass pass:********

 

 

  • либо из Widnows с задачей справляется https://sourceforge.net/projects/openssl/ (и только она, другие утилиты на момент написания статьи не работали)

Для удобства, можете создать .bat , и просто закидывать шифрованный файл на него. После ввода пароля, рядом с исходным файлом появится его расшифрованная версия:

.bat файл для автоматизации AES-расшифровки

Если же вы настроили шифрование, а объем бэкапа > 100МБ., то вас ждет неприятный сюрприз. Файловая структура будет выглядеть следующим образом:

  • F2018-09-16.www-root.tgz.aes.part1
  • F2018-09-16.www-root.tgz.aes.part2
  • ...

Если, следуя общей логике, вы сначала соедините части, а потом расшифруете, то расшифруется только первый "чанк" на 100 МБ., а дальше возникнет ошибка. Поясним: если на входе 2 файла, .part1 = 100МБ и .part2 = 50МБ, то после склейки удастся раскрыть ~66% архива.

Секрет в том, что, оказывается, надо сначала расшифровывать "тома", а потом сливать их. Это было бы более очевидно, если бы разработчики панели задали имя вида F2018-09-16.www-root.tgz.part1.aes для таких бэкапов.

На этом неприятности не заканчиваются. Упомянутый выше OpenSSL для Windows почему-то отказывается корректно дешифровывать "тома", поэтому единственный известный автору способ восстановления многотомного шифрованного архива -- через консоль. Для этого файлы придется залить файлы на сервер, а затем выполнить примерно следующие команды:

Дешифровка, придется повторить ее для каждого файла:
openssl enc -aes-256-cbc -d -in /var/www/www-root/data/www/test/I2019-02-01.www-root.tgz.aes.part1 -out /var/www/www-root/data/www/test/I2019-02-01.www-root.tgz.part1 -pass pass:********

Побитное склеивание файлов, можно выполнить прямо там же:
cat /var/www/www-root/data/www/test/F2019-02-01.www-root.tgz.part1 /var/www/www-root/data/www/test/F2019-02-01.www-root.tgz.part2 > /var/www/www-root/data/www/test/F2019-02-01.www-root.tgz.aes

Ежели на сервере не хватит места, придется расшифрованные файлы скачивать к себе, и склеивать под Windows:
copy /b F2019-02-01.www-root.tgz.part1 + /b F2019-02-01.www-root.tgz.part2 F2016-11-02.www-root.tgz

После этого, наконец, архив можно будет раскрыть.

Взято тут


igel
Дата: 29 апреля 2020 г. в 22:14:44

Автор: igel