GnuPG2 (или GPG2) – это бесплатный инструмент с открытым исходным кодом, реализующий стандарт OpenPGP.
Его основная задача – шифровать конфиденциальную информацию, чтобы защитить ее от несанкционированного доступа.
Он также позволяет создавать цифровые подписи, гарантирующие, что данные не были подделаны при передаче.
🔐 Как добавить в список и удалить ключ GPG на Ubuntu
На многих вновь созданных облачных ВМ и образах может быть не установлена команда gpg/gpg2.
🔐 Разница между PGP и GPG
Таким образом, вы получите ошибку “-bash: gpg: comand not found”.
Вот как исправить эту ошибку и установить gnupg2 на Linux
Далее вы узнаете, как использовать команду gpg.
Установка GPG (gnupg2) в Debian Linux для исправления ошибки gpg command not found
Откройте приложение терминала.
Обновите систему с помощью команды apt или apt-get и примените ожидающие исправления:
sudo sh -c 'apt update && apt upgrade'
Поиск пакетов GPG (gnupg2)
sudo apt-cache search ‘^gnupg?’
debian-archive-keyring - GnuPG archive keys of the Debian archive
debian-keyring - GnuPG keys of Debian Developers and Maintainers
debian-ports-archive-keyring - GnuPG archive keys of the debian-ports archive
elbe-archive-keyring - GnuPG keys of the elbe archive
fasttrack-archive-keyring - GnuPG archive key for Debian FastTrack Repository
gnupg-pkcs11-scd - GnuPG smart-card daemon with PKCS#11 support
gnupg-pkcs11-scd-proxy - GnuPG smart-card daemon with PKCS#11 support, proxy
gnupg1 - GNU privacy guard - a PGP implementation (deprecated "classic" version)
gnupg1-l10n - GNU privacy guard "classic" - localization files (deprecated)
gnupg - GNU privacy guard - a free PGP replacement
gnupg-agent - GNU privacy guard - cryptographic agent (dummy transitional package)
gnupg-l10n - GNU privacy guard - localization files
gnupg-utils - GNU privacy guard - utility programs
gnupg2 - GNU privacy guard - a free PGP replacement (dummy transitional package)
gpg-agent - GNU privacy guard - cryptographic agent
gnuplot - Command-line driven interactive plotting program.
gnuplot-data - Command-line driven interactive plotting program. Data-files
gnuplot-doc - Command-line driven interactive plotting program. Doc-package
gnuplot-nox - Command-line driven interactive plotting program. No-X package
gnuplot-qt - Command-line driven interactive plotting program. QT-package
gnuplot-x11 - Command-line driven interactive plotting program. X-package
elpa-gnuplot-mode - Gnuplot mode for Emacs
gnuplot-mode - Transition Package, gnuplot-mode to elpa-gnuplot-mode
gnupod-tools - command-line tools for the iPod family of portable music players
gpgrt-tools - GnuPG development runtime library (executable tools)
libgpg-error-dev - GnuPG development runtime library (developer tools)
libgpg-error0 - GnuPG development runtime library
libpdl-graphics-gnuplot-perl - gnuplot-based plotting backend for PDL
python3-gnuplotlib - Gnuplot-based plotter for numpy
Чтобы установить пакеты GPG (gnupg2), введите:
Проверьте его с помощью команды which или команды type.
Например:
which gpg
/usr/bin/gpg
type gpg
gpg is /usr/bin/gpg
В последней версии Debian Linux 12 команда gpg будет использовать gpg версии 2, используя символические ссылки, или наоборот.
Вы можете проверить это с помощью команды ls.
Поэтому важно проверить версию GNUPG.
Следующие результаты показывают, что gpg2 является симлинком:
lrwxrwxrwx 1 root root 3 Mar 26 2023 /usr/bin/gpg2 -> gpg
-rwxr-xr-x 1 root root 474112 Mar 26 2023 /usr/bin/gpgv
Чтобы узнать текущую версию GNUPG, установленную в репозитории, введите:
gpg --version
gpg (GnuPG) 2.2.40
libgcrypt 1.10.1
Copyright (C) 2022 g10 Code GmbH
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: /root/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
Как настроить GPGPG
Сначала создайте каталог ~/.gnupg с помощью команды mkdir:
В целях безопасности и конфиденциальности установите жесткие права на каталог с помощью команды chmod:
chmod -v 0700 ~/.gnupg
mode of '/home/admin/.gnupg' changed from 0755 (rwxr-xr-x) to 0700 (rwx------)
Теперь проверьте его, перечислив ключи.
Например:
gpg --list-keys
gpg: keybox '/home/admin/.gnupg/pubring.kbx' created
gpg: /home/admin/.gnupg/trustdb.gpg: trustdb created
Далее необходимо создать пару ключей для шифрования или другого использования.
Вот как начать генерацию с помощью CLI:
Вам нужно задать тип ключа и другие параметры.
Убедитесь, что вы ввели надежную кодовую фразу, чтобы защитить свои закрытые ключи.
Давайте посмотрим примеры некоторых команд.
Шифрование файла с помощью определенного ключа с помощью GnuPG.
Сначала составьте список ключей и запишите их идентификатор:
gpg --list-keys
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
/home/admin/.gnupg/pubring.kbx
------------------------------
pub rsa3072 2024-02-13 [SC]
07713FEA6F00111EB2C12F575641DCBCEA0432D8
uid [ultimate] Admin IT (This is a demo by Vivek) <admin@cyberciti.biz>
sub rsa3072 2024-02-13 [E]
Синтаксис команды шифрования следующий:
gpg --encrypt --recipient <key identifier> --armor </path/to/file/to/encrypt>
Например, зашифруем файл file.db.sql
gpg --encrypt --recipient someone@your-domain-tld --armor file.db.sql
или
gpg --encrypt --recipient 07713FEA6F00111EB2C12F575641DCBCEA0432D8 --armor file.db.sql
GnuPG обычно создает новый файл с расширением “.gpg” или “.asc”.
Например:
Расшифровать файл может только адресат с соответствующим закрытым ключом.
Например:
gpg --decrypt file.db.sql.asc
Необходимо иметь:
- Установленный GnuPG.
- Вам нужен закрытый ключ, соответствующий открытому ключу, используемому для шифрования.
- Вам понадобится парольная фраза, которую вы задали для защиты закрытого ключа.
Просмотр и загрузка ключей GPG для пакетов APT
Давайте воспользуемся командой wget или curl для загрузки файла ключа GPG, который мы можем использовать для установки пакетов в системе Debian:
wget https://pkgs.zabbly.com/key.asc
Отобразите его с помощью комбинации команды cat и команды gpg –show-keys –fingerprint:
cat key.asc | gpg --show-keys --fingerprint
gpg --show-keys --fingerprint <key.asc
Если вы доверяете ключу и знаете его автора, сохраните его в каталоге /etc/apt/keyrings/ с помощью команды cp или mv:
sudo mv -v key.asc /etc/apt/keyrings/zabbly.asc
Теперь вы можете использовать этот ключ GPG для проверки файлов, загруженных с сайта https://pkgs.zabbly.com для вашей системы Debian Linux.
Заключение
Это базовая конфигурация.
Я рекомендую ознакомиться с руководством GNUPG здесь, чтобы узнать все примеры и синтаксис.
Вы можете получить доступ к локально установленной документации с помощью команды man или команды help:
man gnupg
man gpg
man gpg2
man gpg-agent
Вот краткое описание команды gpg, используемой для демонстрации:
gpg --help | grep -Ew --- ‘--(list|show|encrypt|recipient|armor|version)’
см. также: