Библиотека сайта rus-linux.net
GnuPG – простой способ шифрования файлов в командной строке Linux
Оригинал: GnuPG – An Easy Way To Encrypt/Decrypt Files From Command Line in Linux
Автор: Magesh Maruthamuthu
Дата публикации: 15 марта 2017 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2017 г.
У всех нас есть секреты, которыми мы не хотим делиться с окружающими. Также у всех есть личные документы, которые мы не хотим никому показывать. Как их можно защитить при работе в многопользовательской системе, когда доступ к системе имеют несколько человек?
В Linux эту задачу можно решить с помощью нескольких программ. Хорошим решением является
Cryptkeeper, о котором мы уже писали. Сегодня мы хотим рассказать вам о GnuPG - еще одном прекрасном приложении для шифрования/расшифровки файлов в командной строке Linux.
Что такое GnuPG
GnuPG означает GNU Privacy Guard, также известное как GPG. GnuPG - это бесплатная утилита с открытым исходным кодом на базе стандарта OpenPGP, используемая для шифрования/дешифрования файлов в командной строке Linux. Она позволяет пользователю шифровать и подписывать данные для их безопасной пересылки в сети интернет.
GnuPG имеет гибкую систему управления ключами, а также модули доступа ко всем видам директорий публичных ключей, поэтому она легко интегрируется с другими приложениями. Вторая версия GnuPG также обеспечивает поддержку S/MIME и Secure Shell (ssh).
Как установить GnuPG
В большинстве дистрибутивов Linux пакет GnuPG доступен в системных репозиториях, поэтому вы можете просто установить его с помощью штатного менеджера пакетов. Пакет GnuPG включает две команды, поэтому вы можете использовать gpg или gpg2.
[Установка GnuPG в Debian/Ubuntu/Mint] $ sudo apt-get install gnupg [Установка GnuPG в RHEL/CentOS] $ sudo yum install gnupg [Установка GnuPG в Fedora] $ sudo dnf install gnupg [Установка GnuPG в openSUSE] $ sudo zypper install gpg2 [Установка GnuPG в Mageia] $ sudo urpmi gnupg [Установка GnuPG в системах на базе Arch Linux] $ sudo pacman -S gnupg
Как зашифровать файл
Для шифрования файла используется ключ -c вместе с именем файла. с означает, что используется симметричная криптосистема. При первом запуске в вашей домашней директории будут созданы необходимые папки:
# gpg -c magi.txt gpg: directory '/home/magi/.gnupg' created gpg: new configuration file '/home/magi/.gnupg/dirmngr.conf' created gpg: new configuration file '/home/magi/.gnupg/gpg.conf' created gpg: keybox '/home/magi/.gnupg/pubring.kbx' created Enter passphrase:[YOUR PASSWORD] Repeat passphrase:[YOUR PASSWORD]
Введите дважды свой пароль, затем кликните ОК для шифрования файла. Зашифрованный файл получит расширение .gpg.
# ls -lh -rw-rw-r-- 1 magi magi 28 Jan 21 07:57 magi.txt -rw-rw-r-- 1 magi magi 105 Jan 21 07:59 magi.txt.gpg
Обратите внимание, что если вы забудете/потеряете пароль, то не сможете восстановить документ или просмотреть его содержимое, так как используется очень сильное шифрование.
Как дешифровать файл
Для этого используется команда gpg с ключами -d или --decrypt.
# gpg magi.txt.gpg или # gpg -d magi.txt.gpg или # gpg --decrypt magi.txt.gpg gpg: AES encrypted data gpg: encrypted with 1 passphrase File 'magi.txt' exists. Overwrite? (y/n) y
Будет выведено окно для ввода пароля. Введите пароль, затем нажмите ok для дешифровки файла.
Нажмите n для сохранения файла под другим именем.
gpg: AES encrypted data gpg: encrypted with 1 passphrase File 'magi.txt' exists. Overwrite? (y/n) n Enter new filename: magi1.txt
Дешифрование и запись вывода в новый файл
Если вы хотите после дешифрования записать вывод в новый файл, просто добавьте ключ -o и новое имя файла.
# gpg -o 2g.txt magi.txt.gpg gpg: AES encrypted data gpg: encrypted with 1 passphrase
Вы можете узнать больше о возможностях GnuPG, прочитав man-страницу утилиты.
# gpg --help или # man gpg