Вопрос или проблема
Лучший способ зашифровать файл с помощью пароля (без ключевых пар)
, который легко использовать/расшифровывать как в Linux, так и в macOS?
Мне нужно зашифровать файл, в который входит архивированная директория, содержащая важные файлы, над которыми я активно работаю. Для меня крайне важно обеспечить их безопасность, делая несколько резервных копий, в том числе в облаке. Естественно, я хочу зашифровать эти файлы, чтобы защитить их содержимое.
Я понимаю, что должен использовать надежный алгоритм шифрования вместе с сильным паролем. В основном я работаю на Linux или macOS с этими файлами (редкие случаи на Windows, но это не имеет большого значения).
Я ищу информацию о том, как лучше всего зашифровать файл, чтобы его легко можно было использовать на macOS и Linux, и, похоже, нет однозначного ответа. Формат Zip считается самым простым, но, похоже, он поддерживает более слабое шифрование, и вдобавок я не наткнулся на надежный метод, который поддерживал бы только сильные алгоритмы.
OpenSSL, по-видимому, немного сложно использовать (я не хочу носить ключи повсюду). Я думал о том, чтобы использовать зашифрованный файл LUKS, но не смог легко использовать его на macOS.
Как мне зашифровать файл, чтобы я мог использовать его как на Linux (как x86, так и ARM), так и на macOS (ARM/Apple-Silicon) только с паролем, не создавая отдельную пару ключей для них? Было бы здорово, если бы я также мог легко открывать их на Windows, но это не так важно.
PS: Я обыскал интернет и StackOverflow/StackExchange, а также GitHub. Даже ChatGPT не смог дать мне что-то надежное.
Ну, есть GnuPG, также известный как GPG. Это не архиватор, но он действительно шифрует и расшифровывает файлы, в том числе созданные архиваторами, такими как tar
или zip
. Хотя GnuPG может шифровать/расшифровывать с помощью пар ключей, команда --symmetric
или -c
позволяет шифровать/расшифровывать с помощью пароля или фразы (указывается с помощью параметра --passphrase
или --passphrase-fd
или --passphrase-file
).
GnuPG/GPG доступен для Linux, MacOS (через homebrew), и даже есть графический интерфейс для Windows.
Для тех, кто ищет быструю команду для копирования и вставки:
gpg --batch -c --passphrase MY_PASSPHRASE MY_FILE
Опция “batch” предназначена для принятия пароля прямо из командной строки (без отображения диалогового окна), “c” означает простое симметричное шифрование без необходимости работать с ключами, идентификаторами пользователей и т.д.
Тестировалось с gpg 2.2.27
Ответ или решение
Для шифрования файла с использованием только пароля, который будет легко использовать и расшифровывать как на Linux, так и на macOS, я рекомендую использовать GnuPG (GPG). GnuPG поддерживает шифрование как с использованием парных ключей, так и с использованием симметричного шифрования, при котором используется только пароль. Это позволит вам избежать необходимости в управлении ключами.
Установка GnuPG
-
На Linux: GPG обычно предустановлен. Если его нет, вы можете установить его с помощью пакетного менеджера:
sudo apt install gnupg # Для Debian/Ubuntu sudo dnf install gnupg # Для Fedora sudo pacman -S gnupg # Для Arch Linux
- На macOS: Вы можете установить GPG с помощью Homebrew:
brew install gnupg
Шифрование файла
После установки GPG вы можете зашифровать файл с помощью следующей команды. Предположим, что вы хотите зашифровать файл my_file.txt
:
gpg --batch -c --passphrase "ВАШ_ПАРОЛЬ" my_file.txt
Обратите внимание, что параметр --batch
позволяет автоматически принимать ваш пароль из командной строки и избегать появления диалоговых окон, а -c
указывает GPG на то, что необходимо выполнить симметричное шифрование.
Дешифрование файла
Для дешифрования зашифрованного файла используйте следующую команду:
gpg --batch --passphrase "ВАШ_ПАРОЛЬ" -o my_file_decrypted.txt -d my_file.txt.gpg
Здесь -o
указывает, куда сохранить расшифрованный файл, а -d
указывает на то, что файл должен быть расшифрован.
Удобство использования
GPG доступен как в командной строке, так и через графические интерфейсы для Windows, что позволит вам легко работать с зашифрованными файлами на любых платформах.
Советы по безопасному хранению пароля
- Используйте надежный и сложный пароль.
- Храните пароли в безопасном менеджере паролей.
- Не передавайте пароли через небезопасные каналы.
Заключение
GnuPG является одним из самых надежных и универсальных инструментов для шифрования файлов с использованием только пароля на множестве операционных систем, включая Linux и macOS. С помощью простых команд вы сможете легко защитить свои важные файлы.