Простой способ шифрования файлов с помощью GnuPG в Linux
Сегодня рассмотрим, как шифровать и расшифровывать файлы из командной строки в Linux с помощью бесплатной утилиты под названием GNU Privacy Guard (сокращенно GPG или GnuPG).
Конечно, существует множество методов и приложений для шифрования и расшифровки файлов в Linux.
Что такое GnuPG?
GnuPG – это система шифрования с открытым исходным кодом, совместимая с OpenPGP. Это сложная криптосистема с открытым ключом, которая предоставляет услуги цифрового шифрования и подписи, используя стандарт OpenPGP.
Используя GnuPG, мы можем легко шифровать важные и конфиденциальные файлы и документы. Он упакован для нескольких операционных систем, а также доступен в виде предварительно скомпилированных двоичных файлов.
GnuPG доступен в двух версиях. Это GnuPG 1.x и GnuPG 2.x. GnuPG 2.x использует современные алгоритмы и рекомендуется экспертами по безопасности. Вы должны использовать GnuPG 1.x только в том случае, если ваш дистрибутив не поддерживает GnuPG 2.x.
Установите GnuPG
GnuPG по умолчанию предустановлен в большинстве дистрибутивов Linux. Если это не так, вы можете установить GnuPG с помощью стандартного менеджера пакетов вашего дистрибутива, как показано ниже.
Для установки GnuPG в Alpine Linux выполните:
sudo apk add gnupg
В Arch Linux и его производных, таких как EndeavourOS и Manjaro Linux:
sudo pacman -S gnupg
В Debian, Ubuntu, Linux Mint и Pop OS:
sudo apt install gnupg
В Fedora, RHEL, CentOS, AlmaLinux и Rocky Linux:
sudo dnf install gnupg
В старых RHEL и его клонах, используется yum
:
sudo yum install gnupg
На SUSE/openSUSE:
sudo zypper in gnupg
Вы можете проверить установленную версию GPG в любое время, используя команду:
gpg --version
Пример вывода:
gpg (GnuPG) 2.2.27 libgcrypt 1.8.8 Copyright (C) 2021 Free Software Foundation, Inc. License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: /home/ostechnix/.gnupg Supported algorithms: Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 Compression: Uncompressed, ZIP, ZLIB, BZIP2
Шифрование и расшифровка файлов с помощью GnuPG
Сначала мы рассмотрим, как шифровать файлы.
Шифрование файлов с помощью GnuPG
Чтобы зашифровать файл с помощью GnuPG, выполните:
gpg -c mysecret.txt
Здесь -c
означает обычное шифрование, также известное как симметричное шифрование. Замените mysecret.txt
файл нужным именем.
Вам будет предложено ввести парольную фразу для защиты файла. Введите пароль дважды и нажмите OK, чтобы зашифровать файл.
Внимание: Хорошая парольная фраза должна состоять как минимум из 8 символов с цифрами и специальными символами.
Проверим ее с помощью команды ls
:
ls
Пример вывода:
mysecret.txt mysecret.txt.gpg
Как видно из приведенного выше результата, новый зашифрованный файл имеет то же имя, но с добавлением расширения .gpg
. Оригинальный файл остался нетронутым.
Как было сказано ранее, когда мы используем флаг -c
, мы шифруем файл симметричным шифром с использованием парольной фразы. По умолчанию используется симметричный шифр AES-128. Однако мы можем использовать другой метод шифрования с помощью опции --cipher-algo
.
После того, как файл зашифрован, вы не сможете просмотреть содержимое зашифрованного файла без парольной фразы.
Даже если вы попытаетесь открыть его, вы увидите только некоторые случайные числа и символы, как показано ниже.
� 0k f����R����)�2Y�Vm:x��h�'|u7bd�m�lA��E'�=R����,��1������(tz�-�d��9����,��*�
По умолчанию зашифрованные файлы являются бинарными. Бинарные зашифрованные файлы создаются с суффиксом .gpg.
Если вы хотите получить ASCII текстовый файл, добавьте опцию *-a*
:
gpg -c mysecret.txt
Зашифрованные ASCII файлы имеют суффикс *.asc*
(т.е. filename.asc
).
Расшифровка файлов с помощью GnuPG
Чтобы расшифровать файл с помощью GnuPG, просто выполните:
gpg mysecret.txt.gpg
GnuPG автоматически определяет, что файл зашифрован парольной фразой, и запрашивает эту парольную фразу. Просто введите пароль, выберите Ok и нажмите Enter.
Если ключевая фраза верна, то расшифрованные данные записываются в файл с тем же именем, но без расширения .gpg. Кроме того, зашифрованный файл остается нетронутым.
Давайте проверим это:
ls mysecret.txt mysecret.txt.gpg
Теперь вы можете просмотреть содержимое расшифрованного файла, используя любой редактор по вашему выбору.
Если вы хотите, чтобы выходной файл был записан в другое имя, используйте флаг -o
, как показано ниже.
gpg -o secret.txt -d mysecret.txt.gpg
Здесь -d
означает расшифровку, а -o
означает вывод.
Обратите внимание, что зашифрованные ASCII файлы (с суффиксом .asc) могут быть расшифрованы так же, как и зашифрованные бинарные файлы (с суффиксом .gpg).
Чтобы узнать больше подробностей о GnuPG, просмотрите его раздел справки, выполнив эту команду:
gpg -h
или обратитесь к man-страницам gpg:
man gpg
Заключение
Как видите, шифровать и расшифровывать файлы с помощью GnuPG довольно просто! Вам не нужно быть экспертом или опытным администратором Linux, чтобы шифровать/дешифровать файлы.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен ostechnix.com
Комментарии (0)