1

Я хочу сделать что-то довольно простое (по крайней мере, казалось бы):

  1. Сжать каталог
  2. Зашифровать сжатый файл
  3. Загрузить сжатый и зашифрованный файл через FTP

Я также хочу сделать это в автоматическом режиме на сервере Linux.

В данном случае TrueCrypt на самом деле не вариант, так как кажется, что он не может сжать один файл. Вместо этого вы должны создать том, который вы монтируете и перемещаете в файлы.

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

2 ответа2

2

Я использовал bcrypt для этого довольно счастливо. На самом деле я сейчас использую gpg . (Только что проверил, это было так давно , так как я автоматизировал процесс , связанный с . Я не помню, почему я перешел, но думаю, возможно, мне показалось, что gpg было легче писать.) Моя командная строка выглядит так:

gpg -r RECIP --output OUTPUT_FILE_NAME --encrypt INPUT_FILE_NAME

...где

  • RECIP - это имя ключа, который я хочу использовать (-r для «получателя»; gpg основном начинал свою жизнь как средство шифрования электронной почты; пусть вас это не беспокоит, это универсальное назначение).
  • OUTPUT_FILE_NAME - выходной (зашифрованный) файл
  • INPUT_FILE_NAME - файл входного файла (открытый текст )
1

Есть ли особая причина, по которой вы должны использовать FTP? Потому что если нет, то SCP будет лучшим вариантом. Во-первых, потому что он использует зашифрованный канал для отправки файлов (нет паролей в открытом виде для автомобилей Google StreetView для записи :-), во-вторых, потому что он может использовать аутентификацию с помощью закрытого ключа, и в-третьих, потому что он действительно предназначен для копирования.

В любом случае tar является стандартным способом создания одного файла из каталога, а ключ -z будет использовать сжатие GZIP.

tar -zcvf OUTFILE.tgz DIRECTORY

Тогда вам нужно зашифровать его. Я использую ccrypt , но есть и другие варианты. И, возможно, есть причины не использовать его, о котором я не знаю.

ccrypt -k KEYFILE OUTFILE.tgz

Наконец, скопируйте его на целевой сервер. Я предполагаю, что у вас есть каталог "Transfer" в вашем домашнем каталоге, и вы настроили аутентификацию с закрытым ключом.

scp OUTFILE.tgz.cpt YOURHOST:Transfer

Если FTP действительно требуется, вы можете использовать curl для передачи. Я никогда не делал этого сам (и у меня нет FTP-сервера, с помощью которого это можно попробовать), но быстрое чтение справочной страницы показывает следующее:

curl --upload-file OUTFILE.tgz.cpt -u USER:PASSWORD ftp:://YOURHOST/HOSTPATH

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