Как сгенерировать GPG ключи в Linux
Есть ли у вас файлы или сообщения, которые вы хотите скрыть? Для обеспечения их безопасности вам следует использовать ключи шифрования GPG. Если вы работаете под Linux, шифрование файлов с помощью GPG не составит труда, если у вас установлен GnuPG.
Установка GnuPG
Для начала вам нужно установить GnuPG. Для дистрибутивов на базе Debian или Ubuntu откройте терминал и запустите:
sudo apt install gnupg
Дистрибутивы Linux, использующие DNF или YUM (например, Fedora), должны запускаться следующим образом:
yum install gnupg
или
dnf install gnupg
Если вы используете Arch, установите GnuPG со следующей командой:
pacman -S screen
Вы также можете скачать исходный код и скомпилировать его самостоятельно, если хотите.
Генерация вашей пары GPG ключей
После установки GnuPG вам нужно будет сгенерировать свою собственную пару GPG ключей, состоящую из закрытого и открытого ключей. Закрытый ключ – это твой мастер-ключ. Он позволяет расшифровывать/зашифровывать файлы и создавать подписи, которые подписываются закрытым ключом.
Открытый ключ, которым вы пользуетесь, можно использовать для проверки того, что зашифрованный файл действительно пришёл от вас и был создан с помощью вашего ключа. Он также может быть использован другими для шифрования файлов.
Чтобы сгенерировать пару ключей, откройте терминал и введите следующее:
gpg --gen-key
Это позволит начать генерацию ключевых пар. Вам будет предложено ввести свое полное имя и адрес электронной почты. Сделайте это и нажмите Enter.

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

Для генерации ключа может потребоваться некоторое время. Как только это будет сделано, вы увидите подтверждение.

Отзыв ключей
Если по какой-то причине вам нужно отозвать ключ, выполните следующую команду:
gpg --output revoke.asc --gen-revoke uid
uid
будет вашим ключевым идентификатором пользователя. Например, вы можете использовать свой адрес электронной почты здесь. В результате будет создан сертификат отзыва — для этого вам понадобится ваша парольная фраза. Вам нужно будет указать причину, выбрав из нумерованного списка от нуля до трех.

Это можно сделать сразу же после генерации ключа. Он выведет ваш сертификат в файл — в данном случае файл под названием «requke.asc».
Экспорт открытого ключа в файл
Чтобы поделиться файлами или сообщениями с другими пользователями, вам нужно поделиться своим открытым ключом, а значит, экспортировать его с компьютера. Чтобы экспортировать открытый ключ в файл, откройте терминал и введите его:
gpg --armor --export your@emailaccount.com > key.asc
Если вам нужен ключ в читаемом формате (например, как ASCII в текстовом файле), выполните следующие действия:
gpg --armor --output key.txt --export your@emailaccount.com
Затем вы можете открыть этот файл с помощью любого стандартного текстового редактора.
Экспорт открытого ключа на сервер ключей
Вы можете сделать свой открытый ключ доступным для общего пользования и поиска, зарегистрировав его на сервере ключей, открытом хранилище ключей. Например, вы можете использовать MIT-репозиторий, который синхронизирует ваш ключ с другими репозиториями.
Во-первых, найдите идентификатор ключа, открыв терминал и набрав его код:
gpg --fingerprint
Найдите свой ключ и запишите последние восемь цифр идентификатора пользователя ключа. Например, B852 085C.

Используя восьмизначный идентификатор пользователя, введите следующее и замените B852 085C на свой:
gpg --keyserver gpg.mit.edu --send-key B852085C
Ваш открытый ключ будет затем зарегистрирован на сервере ключей, где другие пользователи смогут его найти и импортировать. Помните, что ваш открытый ключ безопасен для совместного использования. Он не может быть использован для расшифровки файлов или сообщений, но может быть использован для их шифрования.
Шифрование и расшифровка файлов
Чтобы зашифровать файл, откройте терминал и выполните следующие действия:
gpg --encrypt --recipient 'your@emailaccount.com' --output encryptedfile.txt.enc originalfile.txt
При желании можно заменить электронную почту получателя. Замените имена выходных и входных файлов.

Чтобы расшифровать файл, выполните следующую команду:
gpg --decrypt --output decrypted.txt encryptedfile.txt.enc
Вас попросят предоставить вашу парольную фразу для доступа к вашему закрытому ключу, чтобы иметь возможность расшифровать файл. Затем он выведет расшифрованное содержимое в виде файла, указанного под флагом –output.
Спасибо, что читаете! На данный момент большинство моих заметок, статей и подборок выходит в telegram канале «Левашов». Обязательно подписывайтесь, чтобы не пропустить новости мира ИТ, полезные инструкции и нужные сервисы.
Респект за пост! Спасибо за работу!
Хотите больше постов в блоге? Подборок софта и сервисов, а также обзоры на гаджеты? Сейчас, чтобы писать регулярно и радовать вас большими обзорами, мне требуется помощь. Чтобы поддерживать сайт на регулярной основе, вы можете оформить подписку на российском сервисе Boosty. Или воспользоваться ЮMoney (бывшие Яндекс Деньги) для разовой поддержки:
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.