Обзор
gpg защищает данные с помощью асимметричного шифрования. Он создает и управляет парами открытого и закрытого ключей, позволяя безопасно обмениваться файлами, сообщениями электронной почты и т. д. Поддерживает мощные алгоритмы шифрования и доступен на различных операционных системах.
Основные функции
- Создание и управление парами открытого/закрытого ключей
- Шифрование/дешифрование файлов и сообщений
- Создание и проверка цифровых подписей
- Обмен открытыми ключами через сервер ключей
Основные опции
Команда gpg предоставляет множество опций для выполнения различных задач. Ниже приведены наиболее часто используемые опции.
Управление ключами
Шифрование и дешифрование
Подпись и проверка
Сгенерированная команда:
Комбинируйте команды.
Описание:
`gpg` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Несколько распространенных примеров использования gpg для создания ключей, шифрования и дешифрования файлов, а также для создания и проверки подписей.
Создание новой пары ключей
gpg --gen-key
Следуйте интерактивным подсказкам, чтобы настроить тип ключа, размер, срок действия, имя пользователя, адрес электронной почты и т. д.
Просмотр списка открытых ключей
gpg --list-keys
Проверьте информацию обо всех открытых ключах, хранящихся в вашем текущем ключевом кольце.
Шифрование файла (с указанием получателя)
gpg --encrypt --recipient Alice secret.txt
Шифрует файл 'secret.txt' с использованием открытого ключа указанного получателя (например, 'Alice'). Результат будет сохранен в файле 'secret.txt.gpg'.
Дешифрование файла
gpg --decrypt secret.txt.gpg
Дешифрует зашифрованный файл 'secret.txt.gpg'. Требуется пароль к закрытому ключу. Результат выводится на стандартный вывод. Можно сохранить в файл с помощью опции '--output'.
Добавление цифровой подписи к файлу
gpg --sign document.txt
Добавляет подпись к файлу 'document.txt'. Подписанный файл будет создан как 'document.txt.gpg'.
Проверка подписанного файла
gpg --verify document.txt.gpg
Проверяет подпись файла 'document.txt.gpg'. Открытый ключ подписавшего должен присутствовать в ключевом кольце.
Экспорт открытого ключа (ASCII Armor)
gpg --export --armor Alice > alice_pubkey.asc
Экспортирует открытый ключ пользователя 'Alice' в формате ASCII Armor и сохраняет его в файл 'alice_pubkey.asc'.
Установка
gpg обычно предустановлен в большинстве дистрибутивов Linux или может быть легко установлен из стандартных репозиториев. Ниже приведены команды установки для основных дистрибутивов.
Debian/Ubuntu
sudo apt update && sudo apt install gnupg
Установка gpg с использованием менеджера пакетов APT.
RHEL/CentOS/Fedora
sudo dnf install gnupg
Установка gpg с использованием менеджера пакетов YUM или DNF.
Arch Linux
sudo pacman -S gnupg
Установка gpg с использованием менеджера пакетов Pacman.
Советы и меры предосторожности
Советы и меры предосторожности для безопасного и эффективного использования gpg. Особое внимание следует уделить управлению ключами и безопасности паролей.
Использование надежных паролей
При создании ключа используйте надежный и легко запоминающийся пароль (passphrase). Пароль является ключевым элементом защиты вашего закрытого ключа.
- Надежный пароль: Минимум 12 символов, комбинация строчных и прописных букв, цифр и специальных символов
Резервное копирование закрытого ключа
Закрытый ключ очень важен, поэтому рекомендуется создать его резервную копию и хранить в безопасном автономном месте (например, на USB-накопителе, зашифрованном внешнем жестком диске). Если вы потеряете ключ, вы не сможете восстановить зашифрованные данные.
- Метод резервного копирования: gpg --export-secret-keys --armor [USER_ID] > private_key.asc
Создание сертификата отзыва ключа
Сразу после создания ключа создайте сертификат отзыва ключа (revocation certificate) и надежно сохраните его. Он используется для аннулирования ключа в случае его компрометации или утери.
- Создание сертификата отзыва: gpg --gen-revoke [USER_ID]
Использование сервера ключей
Вы можете загрузить свой открытый ключ на сервер ключей, чтобы другие могли легко его найти и использовать. Это упрощает обмен открытыми ключами.
- Загрузка на сервер ключей: gpg --send-keys [USER_ID]