Шифровать файл tar.gz при создании

Я пробовал это и работаю до сих пор, но я обновлю, если он снова замерзнет. Я видел предложение на youtrack, которое предлагает отключить iBus, который, кажется, вмешивается, особенно из-за использования ярлыка ctrl + space для изменения настроек языка. Вы можете сделать это, перейдя к:

языковой поддержке> системе ввода с клавиатуры> none

**** UPDATE *****

После некоторого времени работы эта техника все еще не срабатывала, поскольку я продолжал замерзать. Я полагаю, что теперь я буду придерживаться следующего обходного пути, чтобы перезапустить ibus, который немного неудобен, но что вы можете сделать.

перейти в терминал

type:

[ f1]
23
задан 16 January 2012 в 18:20

7 ответов

Следующий процесс сначала шифрует файл на локальном диске и затем может быть отправлен по сети (или сохранен, однако необходим)

Сначала создайте общедоступные и закрытые ключи ( выполняется только один раз):

openssl genrsa -out key.pem 2048
openssl rsa -in key.pem -out key-public.pem -outform PEM -pubout

Затем в каждой резервной копии:

Генерировать длинную случайную кодовую фразу, сохранять в файле echo -n "Tl4R6dnvWXiDeXr1LtpCNkyLG1" > key.txt шифровать файл с помощью passphase openssl enc -aes-256-cbc -pass file:key.txt < UNENCRYPTED_FILE > encrypted.dat шифровать кодовую фразу с общедоступными ключ openssl rsautl -encrypt -pubin -inkey key-public.pem < key.txt > enc.key.txt

Затем сохраните файл encrypted.dat AND enc.key.txt, где это необходимо.

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

Генерировать длинную случайную кодовую фразу, сохранять в файле echo -n "Tl4R6dnvWXiDeXr1LtpCNkyLG1" > key.txt

Генерировать длинную случайную кодовую фразу, сохранять в файле

echo -n "Tl4R6dnvWXiDeXr1LtpCNkyLG1" > key.txt
[ ! d29]

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

10
ответ дан 25 May 2018 в 15:08
  • 1
    Случайную кодовую фразу можно также легко создать с помощью openssl, как openssl rand 32 -out key.txt – Wolfgang 27 December 2013 в 14:23
  • 2
    @Wolfgang - я на самом деле генерирую парольную фразу из скрипта python (который запускает процесс резервного копирования), но спасибо за подсказку! – Joel L 27 December 2013 в 17:37
  • 3
    FYI: Почему вы не должны шифровать файлы с помощью openssl: stackoverflow.com/questions/28247821/… – Daniel Hiller 21 February 2018 в 12:41

Pack your_dir в зашифрованном архиве your_archive.tgz.gpg (симметричное шифрование):

tar -cz your_dir | gpg -c -o your_archive.tgz.gpg

Распакуйте его:

gpg -d your_archive.tgz.gpg | tar xz

См. документы GPG о том, как используйте асимметричное вместо симметричного шифрования.

26
ответ дан 25 May 2018 в 15:08
  • 1
    Использование GPG создает ключи в домашнем держателе пользователя и запрашивает кодовую фразу. В принципе, процесс кажется слишком непрозрачным для моего вкуса ... – Joel L 17 January 2012 в 21:22
  • 2
    Должно ли tar xz во втором наборе команд быть tar -xz вместо этого? – Kenny Evitt 29 May 2016 в 23:58
  • 3
    @KennyEvitt: вы можете использовать его с или без - – Florian Diesch 30 May 2016 в 03:23
  • 4
    Это работает и для файлов, зашифрованных с помощью gpg-zip! – Trefex 16 October 2017 в 12:04

Я делаю это с помощью асимметричного шифрования ключа. Это означает, что у меня есть открытый ключ (который я могу поделиться с кем бы я ни хотел отправить мне зашифрованные пакеты), который позволяет мне шифровать пакет.

Мои команды для шифрования текущего рабочего каталога: -e для шифрования, -r, чтобы указать «-d», получателя "или ключа для использования, -o для указания выходного файла.

$ tar -cvz . | gpg -e -r ABCD1234 -o backup.tgz.gpg

И для дешифрования в текущем рабочем каталоге:

$ gpg -d backup.tgz.gpg | tar -xz

Или расшифровать до стандартный файл tgz для последующей распаковки:

$ gpg -o backup.tgz -d backup.tgz.gpg

Конечно, это работает только в том случае, если я уже создал пару открытого и закрытого ключей и установил его с помощью gpg. В моем случае я сделал это с помощью руководства Digital Ocean по адресу https://www.digitalocean.com/community/tutorials/how-to-use-gpg-to-encrypt-and-sign-messages-on-an-ubuntu -12-04-VPS. ABCD1234 в команде шифрования относится к одному из открытых ключей, установленных в моей системе. В этом руководстве также описывается, как делиться своим открытым ключом и устанавливать открытые ключи других для отправки и получения зашифрованных файлов.

3
ответ дан 25 May 2018 в 15:08

GnuPG - это то, что я выбрал для этого процесса, и потому, что вы указали, что шаги дешифрования, где непрозрачность (я согласен в этом примере использования), я также работал на этой стороне проблемы. Просмотрите журналы сборки Travis-CI для тех функций, которые в настоящее время работают как разработанные, и файл travis.yml для последующего использования вместе с выходом журналов. В основном вам понадобится три сценария из этого проекта; сценарий кейгена, сценарий помощника расшифровки и сценарий прослушивателя с именем pipe. Ключевой сценарий & amp; скрипт-скрипт расшифровки должен использоваться на устройстве, которое будет преформировать дешифрование, а сценарий прослушивателя именованного канала должен находиться на устройстве, которое формирует шифрование.

Шифрование сценария прослушивателя именованного канала принимает строки, пути к файлам или пути каталога один раз настраивать и выводить зашифрованные результаты предсказуемым образом.

Ниже приведены примеры команд, которые могут быть помещены в ваш сценарий резервного копирования в ночное время для шифрования и для сжатия каталогов + шифрование

echo "some messages text" > /path/to/named.pipe
## Message text is ASCII armor encrypted and appended to specified file when script was stated
echo "${HOME}/Documents" > /path/to/named.pipe
## Directories are compressed with tar and encrypted with output to time stamped file in bulk output directory
echo "${HOME}/.bash_history"  > /path/to/named.pipe

Для дешифрования вы захотите проверить, как скрипты сборки .travis-ci/script_decrypt.sh & amp; .travis-ci/test_search_script_decrypt.sh о том, как восстанавливаются приложенные строки зашифрованных данных и как массивные файлы / каталоги восстанавливаются.

Конечно, с материалом этого экспериментаря лучше не использовать первичные пары ключей (вроде, почему скрипт для ключей был ), и он не должен использоваться на важных данных, пока вы не уверены в том, как восстановить его в удобочитаемой форме.

0
ответ дан 25 May 2018 в 15:08

Пакет your_dir в зашифрованном архиве your_archive.tgz.gpg (симметричное шифрование):

tar -cz your_dir | gpg -c -o your_archive.tgz.gpg

Распакуйте его:

gpg -d your_archive.tgz.gpg | tar xz

См. документы GPG о том, как используйте асимметричное вместо симметричного шифрования.

26
ответ дан 4 August 2018 в 17:46

Я делаю это с помощью асимметричного шифрования ключей. Это означает, что у меня есть открытый ключ (который я могу поделиться с кем бы я ни хотел отправить мне зашифрованные пакеты), который позволяет мне шифровать пакет.

Мои команды для шифрования текущего рабочего каталога: -e для шифрования, -r, чтобы указать " получатель "или ключ для использования, -o для указания выходного файла.

$ tar -cvz . | gpg -e -r ABCD1234 -o backup.tgz.gpg

И для дешифрования в текущем рабочем каталоге:

$ gpg -d backup.tgz.gpg | tar -xz

Или расшифровать стандартный файл tgz для последующей распаковки:

$ gpg -o backup.tgz -d backup.tgz.gpg

Конечно, это работает только в том случае, если я уже создал пару с открытым ключом и установил его с gpg. В моем случае я сделал это с помощью руководства Digital Ocean в https://www.digitalocean.com/community/tutorials/how-to-use-gpg-to-encrypt-and-sign-messages-on- AN-Ubuntu-12-04-VPS . ABCD1234 в команде шифрования относится к одному из открытых ключей, установленных в моей системе. В этом руководстве также рассказывается, как обмениваться открытым ключом и устанавливать открытые ключи других для отправки и получения зашифрованных файлов.

4
ответ дан 6 August 2018 в 02:22

Я делаю это с помощью асимметричного шифрования ключей. Это означает, что у меня есть открытый ключ (который я могу поделиться с кем бы я ни хотел отправить мне зашифрованные пакеты), который позволяет мне шифровать пакет.

Мои команды для шифрования текущего рабочего каталога: -e для шифрования, -r, чтобы указать " получатель "или ключ для использования, -o для указания выходного файла.

$ tar -cvz . | gpg -e -r ABCD1234 -o backup.tgz.gpg

И для дешифрования в текущем рабочем каталоге:

$ gpg -d backup.tgz.gpg | tar -xz

Или расшифровать стандартный файл tgz для последующей распаковки:

$ gpg -o backup.tgz -d backup.tgz.gpg

Конечно, это работает только в том случае, если я уже создал пару с открытым ключом и установил его с gpg. В моем случае я сделал это с помощью руководства Digital Ocean в https://www.digitalocean.com/community/tutorials/how-to-use-gpg-to-encrypt-and-sign-messages-on- AN-Ubuntu-12-04-VPS . ABCD1234 в команде шифрования относится к одному из открытых ключей, установленных в моей системе. В этом руководстве также рассказывается, как обмениваться открытым ключом и устанавливать открытые ключи других для отправки и получения зашифрованных файлов.

4
ответ дан 7 August 2018 в 19:54

Другие вопросы по тегам:

Похожие вопросы: