🗄️ Как установить GPG (gnupg2) на Linux, чтобы исправить ошибку gpg command not found

GnuPG2 (или GPG2) – это бесплатный инструмент с открытым исходным кодом, реализующий стандарт OpenPGP.

Его основная задача – шифровать конфиденциальную информацию, чтобы защитить ее от несанкционированного доступа.

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

На многих вновь созданных облачных ВМ и образах может быть не установлена команда gpg/gpg2.

Таким образом, вы получите ошибку “-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), введите:

sudo apt install gnupg2

 

Проверьте его с помощью команды which или команды type.

Например:

which gpg
/usr/bin/gpg
 type gpg
gpg is /usr/bin/gpg

 

В последней версии Debian Linux 12 команда gpg будет использовать gpg версии 2, используя символические ссылки, или наоборот.

Вы можете проверить это с помощью команды ls.

Поэтому важно проверить версию GNUPG.

ls -l /usr/bin/gpg?

 

Следующие результаты показывают, что 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:

mkdir ~/.gnupg

 

В целях безопасности и конфиденциальности установите жесткие права на каталог с помощью команды 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:

  gpg —full-generate-key

 

Вам нужно задать тип ключа и другие параметры.

Убедитесь, что вы ввели надежную кодовую фразу, чтобы защитить свои закрытые ключи.

Давайте посмотрим примеры некоторых команд.

Шифрование файла с помощью определенного ключа с помощью 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”.

Например:

ls -l file.db.sql*

 

Расшифровать файл может только адресат с соответствующим закрытым ключом.

Например:

  gpg —decrypt file.db.sql.asc

 

Необходимо иметь:

  1. Установленный GnuPG.
  2. Вам нужен закрытый ключ, соответствующий открытому ключу, используемому для шифрования.
  3. Вам понадобится парольная фраза, которую вы задали для защиты закрытого ключа.

Просмотр и загрузка ключей 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)’

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *