Приложение А: Шпаргалка по командам GPG

Для быстрого доступа к основным командам GPG мы собрали их в удобную таблицу. Все команды сгруппированы по категориям для простоты использования.

Управление ключами

ДействиеКомандаПримечание
Создать пару ключей (интерактивно)gpg --full-generate-keyБазовый мастер
Создать пару ключей с выбором алгоритмаgpg --expert --full-generate-keyДля выбора ECC (Curve 25519)
Создать пару ключей (неинтерактивно)gpg --batch --generate-key keyfileТребуется файл с параметрами
Список открытых ключейgpg --list-keysИли gpg -k
Список открытых ключей (детально)gpg --list-keys --keyid-format LONGПоказывает полные ID ключей
Список закрытых ключейgpg --list-secret-keysИли gpg -K
Список закрытых ключей (детально)gpg --list-secret-keys --keyid-format LONGПоказывает наличие субключей
Показать отпечаток ключаgpg --fingerprint email@example.comДля проверки подлинности
Показать информацию о ключеgpg --edit-key email@example.comВход в интерактивный режим
Удалить открытый ключ из связкиgpg --delete-key email@example.comТолько открытый
Удалить закрытый и открытый ключgpg --delete-secret-and-public-key email@example.comПолное удаление

Экспорт и импорт ключей

ДействиеКомандаПримечание
Экспорт открытого ключа (бинарный)gpg --export email@example.com > key.gpgДля импорта в другие GPG
Экспорт открытого ключа (текстовый)gpg --export --armor email@example.com > key.ascДля отправки по email/Telegram
Экспорт закрытого ключаgpg --export-secret-keys --armor email@example.com > secret.ascХранить в безопасном месте!
Экспорт только субключейgpg --export-secret-subkeys --armor email@example.com > subkeys.ascДля повседневного использования
Импорт ключа из файлаgpg --import filename.ascИмпорт открытого или закрытого
Импорт ключа с сервераgpg --keyserver keys.openpgp.org --search-keys email@example.comПоиск и импорт
Загрузить ключ на серверgpg --keyserver keys.openpgp.org --send-key KEYIDПубликация своего ключа

Работа с субключами (в интерактивном режиме gpg --edit-key)

ДействиеКоманда в gpg>Примечание
Создать новый субключaddkeyСледуйте подсказкам
Выбрать субключ для действийkey NN — номер ключа (0,1,2…)
Снять выделение с субключаkey NПовторный ввод снимает выделение
Установить срок действия ключаexpireДля выделенного ключа
Установить срок действия основного ключаexpireБез выделенных ключей
Отозвать ключrevkeyДля выделенного ключа
Подписать ключsignПодтверждение подлинности
Установить уровень доверияtrust1-5 для выбора уровня
Выйти с сохранениемsaveСохраняет изменения
Выйти без сохраненияquitОтменяет изменения

Шифрование и дешифрование

ДействиеКомандаПримечание
Симметричное шифрованиеgpg -c file.txtЗапросит пароль
Симметричное шифрование с выходным именемgpg -o encrypted.gpg -c file.txt-o задает имя выхода
Асимметричное шифрование (для получателя)gpg -e -r recipient@example.com file.txtШифрует файл
Асимметричное шифрование (текстовый вывод)gpg -e -r user@example.com -a file.txt-a для ASCII
Шифрование для нескольких получателейgpg -e -r user1@ex.com -r user2@ex.com file.txtУкажите несколько -r
Дешифрование файлаgpg -d file.gpgВывод на экран
Дешифрование с сохранением в файлgpg -o output.txt -d file.gpgСохраняет результат

Цифровые подписи

ДействиеКомандаПримечание
Подписать файл (бинарная подпись)gpg -s file.txtСоздает file.txt.gpg с данными
Подписать файл (отдельная подпись)gpg -b file.txtСоздает file.txt.sig (только подпись)
Подписать и зашифроватьgpg -s -e -r user@example.com file.txtКомбинация операций
Очищенная подпись (текст читаем)gpg --clearsign file.txtТекст + подпись в одном файле
Проверить подписьgpg --verify file.sigПроверяет подпись для файла
Проверить подпись (если файл указан)gpg --verify file.sig file.txtЯвное указание файла
Проверить подпись в очищенном файлеgpg --verify file.txt.ascДля –clearsign

Управление доверием и сертификаты

ДействиеКомандаПримечание
Подписать чужой ключgpg --sign-key email@example.comПодтверждение подлинности
Подписать ключ локальноgpg --lsign-key email@example.comПодпись только для себя
Создать сертификат отзываgpg --gen-revoke email@example.com > revoke.ascСделать сразу после создания ключа!
Импортировать сертификат отзываgpg --import revoke.ascПосле этого ключ считается отозванным
Обновить ключи с сервераgpg --refresh-keysСкачивает обновления для всех ключей

Срок действия и обслуживание

ДействиеКомандаПримечание
Изменить срок действия ключаgpg --edit-key email@example.com > expireДля основного или субключа
Изменить парольную фразуgpg --passwd email@example.comСмена пароля на ключ
Экспорт ключа в совместимом форматеgpg --export --export-options export-minimal --armorМинимальный экспорт (без лишних подписей)

Работа с серверами ключей

ДействиеКомандаПримечание
Отправить ключ на серверgpg --send-key KEYIDНа сервер по умолчанию
Отправить ключ на конкретный серверgpg --keyserver hkp://pool.sks-keyservers.net --send-key KEYIDУказание сервера
Получить ключ с сервераgpg --recv-key KEYIDПо ID ключа
Получить ключ по emailgpg --search-keys email@example.comПоиск по email на сервере

Полезные опции

ОпцияНазначениеПример использования
--armor или -aСоздает текстовый (ASCII) вывод, а не бинарныйgpg -a -e -r user@ex.com file.txt
--output или -oЗадает имя выходного файлаgpg -o decrypted.txt -d secret.gpg
--recipient или -rУказывает получателя (по email или ID)gpg -e -r user@ex.com file.txt
--local-user или -uУказывает отправителя (если их несколько)gpg -u igor@ex.com -s file.txt
--verbose или -vПодробный выводgpg -v --verify file.sig
--batchПакетный режим (без запросов)Для скриптов автоматизации
--yesАвтоматический ответ “да” на все вопросыДля скриптов

Примеры быстрых команд

# Быстрое симметричное шифрование файла
gpg -c mysecret.txt

# Быстрая расшифровка
gpg -d mysecret.txt.gpg

# Зашифровать файл для Ольги (создать .gpg)
gpg -e -r olga@example.com document.pdf

# Зашифровать файл для Ольги (создать читаемый .asc)
gpg -e -r olga@example.com -a document.pdf

# Подписать файл (очищенная подпись)
gpg --clearsign announcement.txt

# Проверить подпись
gpg --verify announcement.txt.asc

# Экспорт публичного ключа для отправки
gpg --export --armor igor@example.com > igor_public.asc

# Импорт ключа от коллеги
gpg --import olga_public.asc

# Просмотр отпечатка для сверки по телефону
gpg --fingerprint igor@example.com