Команда Linux gpg

Linux 命令大全Энциклопедия команд Linux


GPG (GNU Privacy Guard) — это инструмент реализации стандарта OpenPGP, разработанный проектом GNU, используемый для шифрования и дешифрования данных, а также создания и проверки цифровых подписей. Это открытая альтернатива PGP (Pretty Good Privacy), широко применяемая в таких сценариях, как шифрование файлов, защита электронной почты и проверка подписей программных пакетов.


Базовая структура синтаксиса

Базовый формат синтаксиса команды gpg выглядит следующим образом:

gpg [选项] [命令] [文件名]

Основные компоненты:

  • Опции: Различные параметры, управляющие поведением GPG
  • Команда: Указывает тип выполняемой операции
  • Имя файла: Обрабатываемый файл (необязательно)

Общие параметры команд

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

Параметр Описание
--gen-key Создать новую пару ключей
--list-keys Вывести все открытые ключи
--list-secret-keys Вывести все закрытые ключи
--delete-key Удалить открытый ключ
--delete-secret-key Удалить закрытый ключ
--import Импортировать ключ
--export Экспортировать ключ

Операции шифрования/расшифровки

Параметр Описание
--encrypt (-e) Зашифровать
--decrypt (-d) Расшифровать файл
--sign (-s) Создать подпись
--verify Проверить подпись
--armor (-a) Создать вывод в формате ASCII

Другие общие параметры

Параметр Описание
--recipient (-r) Указать ключ получателя
--output (-o) Укажите выходной файл
--passphrase Укажите парольную фразу

Примеры практического применения

1. Сгенерируйте пару ключей

gpg --gen-key

После выполнения он интерактивно запросит:

  1. Тип ключа (обычно выберите значение по умолчанию — RSA и RSA)
  2. Длина ключа (рекомендуется 4096 бит)
  3. Срок действия ключа
  4. Информация об идентификаторе пользователя (имя и электронная почта)
  5. Парольная фраза

2. Зашифруйте файл

gpg --encrypt --recipient alice@example.com --output secret.txt.gpg secret.txt
  • --recipientУкажите открытый ключ получателя (идентифицируется по электронной почте)
  • --outputУкажите выходной файл после шифрования
  • Последний параметр — это исходный файл, который нужно зашифровать

3. Расшифровка файла

gpg --decrypt --output plain.txt secret.txt.gpg

Система запросит парольную фразу закрытого ключа

4. Создание и проверка подписи

Создать подпись:

gpg --sign --output document.sig document.txt

Проверить подпись:

gpg --verify document.sig document.txt

5. Экспорт открытого ключа

gpg --armor --export alice@example.com > alice.pub.asc

--armorЭта опция создаёт файл открытого ключа в формате ASCII


Практики управления ключами

Процесс работы со связкой ключей

Настройки отношений доверия к ключам

  1. Импорт открытого ключа другого человека:

    gpg --import bob.pub.asc
  2. Проверьте отпечаток ключа:

    gpg --fingerprint bob@example.com
  3. Подпишите ключ, чтобы установить доверие:

    gpg --sign-key bob@example.com

ЧАВО

1. Как избежать ввода пароля каждый раз при расшифровке?

Используйте gpg-agent для кэширования пароля:

gpg --use-agent --decrypt file.gpg

2. Как отозвать потерянный ключ?

  1. Сгенерируйте сертификат отзыва:

    gpg --gen-revoke your@email.com > revoke.asc
  2. Опубликуйте сертификат отзыва:

    gpg --import revoke.asc

3. Лучшие практики шифрования больших файлов?

Используйте симметричное шифрование в сочетании с асимметричным:

gpg --symmetric --cipher-algo AES256 largefile.iso

Вопросы безопасности

  1. Защита закрытого ключа: Файлы закрытого ключа следует надлежащим образом хранить, а также рекомендуются стойкие парольные фразы
  2. Резервное копирование ключей: Регулярно создавайте резервные копии связки ключей и сертификатов отзыва
  3. Выбор алгоритма: Рекомендуются стойкие алгоритмы шифрования, такие как AES-256 и RSA-4096
  4. Срок действия ключа: Установите разумный срок действия ключа и регулярно обновляйте его
  5. Утечка метаданных: Не сохраняйте такие метаданные, как имена файлов, при шифровании; можно использовать--throw-keyidsoption

Освоив команду gpg, вы сможете эффективно защитить конфиденциальные данные и обеспечить безопасную передачу файлов и аутентификацию. Рекомендуется ознакомиться с различными операциями в тестовой среде перед фактическим использованием.


Linux 命令大全Энциклопедия команд Linux

Другие расширения