Резервная копия GPG-ключей на Linux

- Регулярно экспортируйте свои GPG-ключи и файл доверия (*.gpg) и храните их в безопасном месте.
- Экспорт: gpg –export / –export-secret-keys / –export-ownertrust.
- При восстановлении: gpg –import public.gpg; gpg –import private.gpg; gpg –import-ownertrust trust.gpg.
Быстрые ссылки
- OpenPGP и GNU Privacy Guard
- Каталог .gnupg
- Какие ключи нужно сохранять
- Резервное копирование и восстановление
- Защита приватности и усиление безопасности
Важно: этот материал объясняет, как безопасно экспортировать и восстановить ваши GPG-ключи. Все команды даны точно; заменяйте примеры адресов и имён файлов на свои.
OpenPGP и GNU Privacy Guard
OpenPGP — это стандарт для шифрования с использованием публичных и приватных ключей. GNU Privacy Guard (GnuPG, или gpg) — наиболее распространённая реализация этого стандарта в Linux. Краткое определение: GPG — инструмент для шифрования/расшифровки и управления ключами.
Схема работы проста:
- У каждого пользователя есть пара ключей: публичный и приватный.
- Публичный ключ можно свободно распространять.
- Приватный ключ никогда не должен покидать ваш контроль; он защищён фразой-паролем (passphrase).
- Для расшифровки требуется именно та пара ключей, которой файл был шифрован.
Последствие: потеря приватного ключа делает недоступными все данные, зашифрованные этим ключом. Поэтому резервные копии ключей жизненно необходимы.
Каталог .gnupg
GPG хранит свои данные в скрытом каталоге $HOME/.gnupg. В нём находятся как ваши приватные ключи, так и публичные ключи других людей, которых вы импортировали.
Чтобы увидеть содержимое, удобно использовать утилиту tree (установите через репозиторий, если её нет):
tree .gnupg
Типичное содержимое:
- openpgp-revocs.d — сертификат отзыва (revocation certificate). Нужен, если приватный ключ скомпрометирован.
- private-keys-v1.d — каталог, где хранятся приватные ключи.
- pubring.kbx — база публичных ключей и метаданных (зашифрована).
- pubring.kbx~ — резервная копия pubring.kbx, создаётся перед изменениями.
- trustdb.gpg — база доверия: ваши оценки доверия к импортированным ключам.
Примечание: сами файлы не хранятся в открытом виде — приватные ключи защищены вашей фразой-паролем, но это не заменяет отдельного резервного копирования и мер безопасности.
Какие ключи нужно сохранять
Чтобы увидеть, какие секретные ключи у вас есть, выполните:
gpg --list-secret-keys --keyid-format LONG
Разбор вывода:
- Строка sec показывает размер ключа (в битах), его ID, дату создания и флаги (S — подписи, C — сертификация).
- fingerprint — отпечаток ключа, уникальный идентификатор.
- uid — цифровой идентификатор владельца (имя и email).
- ssb — секретный субключ (обычно используется для шифрования; флаг E означает Encryption).
Если у вас несколько пар ключей для разных идентичностей, они будут перечислены.
Резервное копирование ключей (экспорт)
Мы обычно экспортируем три компонента:
- публичные ключи (включая ваши и импортированные)
- приватные ключи
- база доверия (ownertrust)
Общая рекомендация: используйте опцию –export-options backup, чтобы сохранить GPG-специфичную метаинформацию, необходимую для корректного импорта.
Экспорт публичных ключей:
gpg --export --export-options backup --output public.gpgЕсли нужно экспортировать ключи только для одного адреса:
gpg --export --export-options backup --output public.gpg you@example.comЭкспорт приватных ключей (сохраните в отдельный файл):
gpg --export-secret-keys --export-options backup --output private.gpgПри экспорте приватных ключей GPG запросит вашу фразу-пароль (passphrase). Это не пароль учётной записи, а фраза, заданная при создании ключа. Храните её в менеджере паролей или в надёжном офлайн-хранилище.

Экспорт базы доверия:
gpg --export-ownertrust > trust.gpgЭто текстовый файл; его можно просмотреть через cat:
cat trust.gpgПример списка созданных файлов:
ls -hl *.gpgПеренесите полученные файлы на внешний носитель или на другой компьютер. Если вы просто храните их для защиты, поместите в безопасный офлайн-распол�:
- зашифрованный контейнер,
- аппаратный криптоключ (см. раздел про безопасность),
- безопасный сейф.
Если вы переносите ключи на другой компьютер, последовательность восстановления описана ниже.
Восстановление на другом компьютере (импорт)
Файлы могут быть импортированы на другой Linux-машине следующими командами:
gpg --import public.gpg
Затем приватный ключ:
gpg --import private.gpgGPG запросит фразу-пароль для приватного ключа. Введите её.

Подтверждение успешного импорта:
gpg --list-secret-keys --keyid-format LONG
Наконец, восстановите доверие:
gpg --import-ownertrust trust.gpgПроверьте, что ключи и trust совпадают с исходной машиной.
Практические рекомендации по безопасности
Важно не только иметь резервные копии, но и хранить их безопасно. Вот проверенные подходы:
- Храните приватные ключи в зашифрованном виде. Используйте gpg для симметричного шифрования файла-резервной копии:
gpg --symmetric --cipher-algo AES256 private.gpg- Делайте несколько копий: одна — на зашифрованном внешнем накопителе, одна — в «холодном» (офлайн) сейфе.
- Никогда не храните приватный ключ в облаке без дополнительного шифрования.
- Храните сертификат отзыва (revocation certificate) отдельно. Если ключ скомпрометирован, используйте сертификат для его отзыва.
- Рассмотрите использование аппаратных токенов (YubiKey, Nitrokey). Приватный ключ никогда не покидает токен, а резервную копию держите в сейфе.
Краткая команда для создания зашифрованной резервной копии приватного файла:
gpg --symmetric --cipher-algo AES256 --output private.gpg.gpg private.gpgИ затем храните private.gpg.gpg в надёжном месте.
Мини‑методология: шаги для регулярной процедуры (SOP)
- Проверка: gpg –list-secret-keys –keyid-format LONG
- Экспорт публичного: gpg –export –export-options backup –output public.gpg
- Экспорт приватного: gpg –export-secret-keys –export-options backup –output private.gpg
- Экспорт доверия: gpg –export-ownertrust > trust.gpg
- Шифрование резервных файлов (рекомендация): gpg –symmetric –cipher-algo AES256 private.gpg
- Перенос на защищённый носитель / хранение в сейфе
- Документация: зафиксируйте место хранения и дату в безопасном журнале (офлайн)
Критерии приёмки
- Все три файла (public.gpg, private.gpg или private.gpg.gpg, trust.gpg) существуют и читаются.
- Приватный файл успешно расшифровывается локально.
- На тестовой машине импорт проходит без ошибок и ключи отображаются: gpg –list-secret-keys.
Инцидентный план: если приватный ключ скомпрометирован
Шаги быстрого реагирования:
- Выпустите сертификат отзыва. Если у вас уже есть сохранённый revocation certificate, опубликуйте его в ключевых серверах и уведомьте корреспондентов.
- Отозвав ключ, создайте новую пару ключей и распространите новый публичный ключ.
- Обновите все места, где использовался старый ключ (сертификаты, доступы, подписи).
- Проанализируйте, как произошёл компромисс и закройте уязвимость.
Рекомендуемые действия при потере/компрометации:
- Если вы не заранее сгенерировали revocation certificate, сделайте это сразу при создании ключа и храните офлайн.
- Подпишитесь на уведомления о компрометации при работе в командах; оповестите контакты.
Когда резервное копирование не поможет (ограничения)
- Если вы забыли фразу-пароль приватного ключа, экспортированный приватный файл бесполезен без неё.
- Если ключи были скомпрометированы и вы не имеете revocation certificate, потребуется срочная коммуникация и замена ключей.
Альтернативные подходы и сценарии
- Синхронизация .gnupg: вместо экспорта можно синхронизировать $HOME/.gnupg между машинами (rsync/ssh). Минусы: риск случайной перезаписи, перенос локальных сокетов и конфигураций.
- Аппаратные токены: приватный ключ хранится внутри устройства — безопаснее, но сложнее для резервного копирования.
- Менеджеры ключей и HSM (аппаратные модули безопасности): для корпоративных сред.
Чек-лист по ролям
Для индивидуального пользователя (домашний ПК):
- Экспорт public.gpg, private.gpg, trust.gpg
- Зашифровать private.gpg
- Поместить копию в сейф
Для ноутбука:
- Держать минимальный набор ключей; по возможности использовать субключи для шифрования
- Хранить зашифрованную копию в облаке только в зашифрованном виде
Для сервера/DevOps:
- Использовать HSM или выделенный ключевой менеджер
- Ограничить доступ по правам и аудитировать экспорт ключей
Контрольные тесты и критерии приёмки
- После импорта на тестовую машину выполните: gpg –list-secret-keys –keyid-format LONG и сверяйте отпечатки.
- Попробуйте зашифровать тестовый файл с вашим публичным ключом и расшифровать его на машине с импортированным приватным ключом.
Пример:
echo "test" > hello.txt
gpg --encrypt --recipient you@example.com --output hello.gpg hello.txt
gpg --decrypt --output hello_out.txt hello.gpg
cat hello_out.txt # должен показать "test"Модель принятия решений (диаграмма)
flowchart TD
A[Есть ли резервная копия приватного ключа?] -->|Да| B[Резерв зашифрован?]
A -->|Нет| C[Создать резервную копию]
B -->|Да| D[Хранить в сейфе и обновлять]
B -->|Нет| E[Зашифровать и перенести в безопасное место]
C --> F[Экспортировать public/secret/trust и зашифровать]
E --> D
F --> DФакты в цифрах (справочная информация)
- Типичные длины ключей: 2048, 3072, 4096 бит (4096 — высокий уровень безопасности).
- Файлы экспорта: public.gpg, private.gpg, trust.gpg.
- Revocation certificate существует отдельно и рекомендуется иметь его с самого начала.
Дополнительные советы по совместимости и миграции
- Версии GnuPG: старые версии (gpg v1) хранят ключи иначе; убедитесь, что целевая машина использует совместимую версию GnuPG (gpg v2+).
- Если при импорте вы видите сообщения об устаревших форматах, обновите GnuPG или проконсультируйтесь с документацией дистрибутива.
Примеры команд — шпаргалка
Экспорт:
gpg --export --export-options backup --output public.gpg
gpg --export-secret-keys --export-options backup --output private.gpg
gpg --export-ownertrust > trust.gpgИмпорт:
gpg --import public.gpg
gpg --import private.gpg
gpg --import-ownertrust trust.gpgШифрование резервной копии приватного файла:
gpg --symmetric --cipher-algo AES256 --output private.gpg.gpg private.gpgПроверка работоспособности после импорта:
gpg --list-secret-keys --keyid-format LONGЗаключение
Резервная копия GPG-ключей — простая и критически важная операция. Экспортируйте публичные и приватные ключи и файл доверия, храните приватные копии зашифрованными и в офлайн-сейфе, а также всегда имейте готовый сертификат отзыва. Регулярно проверяйте восстановление на тестовой машине — это единственный способ убедиться, что резервная копия пригодна для использования.
Важное: если вы не уверены в процедуре или работаете с критичными данными, рассмотрите консультацию с администратором безопасности или переход на аппаратные токены для хранения приватных ключей.
Похожие материалы
Отключить рекламу в MIUI 12 на Xiaomi
Как подключить и настроить контроллеры в Steam
Mi Band 5/6 как дистанционный пульт камеры
Как изменить шрифт на Samsung Galaxy