Команда Gpg2 не найдена в Ubuntu
Обновлено: 21.11.2024
Защита конфиденциальности GNU
GnuPG — это полная и бесплатная реализация стандарта OpenPGP, как определено в RFC4880 (также известном как PGP). GnuPG позволяет вам шифровать и подписывать ваши данные и сообщения; он имеет универсальную систему управления ключами, а также модули доступа ко всем видам каталогов открытых ключей. GnuPG, также известный как GPG, представляет собой инструмент командной строки с функциями для простой интеграции с другими приложениями. Доступно множество интерфейсных приложений и библиотек. GnuPG также обеспечивает поддержку S/MIME и Secure Shell (ssh).
С момента своего появления в 1997 году GnuPG является свободным программным обеспечением (это означает, что оно уважает вашу свободу). Его можно свободно использовать, модифицировать и распространять на условиях Стандартной общественной лицензии GNU.
Текущая версия GnuPG — 2.2.34. См. страницу загрузки для других поддерживаемых версий.
Gpg4win — это версия GnuPG для Windows с инструментом контекстного меню, криптографическим менеджером и подключаемым модулем Outlook для отправки и получения стандартных писем PGP/MIME. Текущая версия Gpg4win — 4.0.0.
Восстановите конфиденциальность
Утверждение о том, что вас не волнует право на неприкосновенность частной жизни, потому что вам нечего скрывать, ничем не отличается от того, что вы заявляете, что вас не волнует свобода слова, потому что вам нечего сказать. – Эдвард Сноуден
Шифрование помогает защитить вашу конфиденциальность и конфиденциальность людей, с которыми вы общаетесь. Шифрование усложняет жизнь массовым системам наблюдения. GnuPG — это один из инструментов, который Сноуден использовал для раскрытия секретов АНБ.
Посетите сайт самозащиты электронной почты, чтобы узнать, как и почему вам следует использовать GnuPG для электронного общения.
Последние записи в блоге:
Последние новости о выпуске:
(все новости)
Выпущен GnuPG 2.3.3 (12 октября 2021 г.)
Выпущен GnuPG 2.3.3. В этой версии исправлена ошибка, которую мы представили в версии 2.3.2, а также проблема с сертификатами Let's Encrypt, которая запрещала использование серверов ключей с октября.
Мы выпустили еще один выпуск из серии GnuPG 2.3.
Выпущен GnuPG 2.3.1 (20 апреля 2021 г.)
Мы выпустили второй выпуск из серии GnuPG 2.3.
Выпущен Libgcrypt 1.9.3 (19 февраля 2021 г.)
Доступна новая версия Libgcrypt.
Выпущен GnuPG 2.3.0 (07.04.2021)
Мы рады сообщить о выходе новой версии GnuPG: версии 2.3.0. Этот выпуск знаменует собой начало общедоступных тестовых выпусков, которые в конечном итоге приведут к новой стабильной версии 2.4.
Выпущен Libgcrypt 1.9.2 (17 февраля 2021 г.)
Libgcrypt 1.9.1 выпущен (2021-01-29) важно
К сожалению, мы внесли серьезную ошибку в Libgcrypt 1.9.0, выпущенную 10 дней назад. Если вы уже начали использовать версию 1.9.0, немедленно обновите ее до 1.9.1.
Libgcrypt 1.9 — новая стабильная ветка (19 января 2021 г.)
Хотя мы продолжим поддерживать ветку 1.8, новая стабильная ветка теперь 1.9. Версия 1.9.0 содержит множество улучшений производительности и несколько других новых функций. Он обеспечивает полную совместимость API и ABI с предыдущими версиями.
GnuPG 2.2.27 выпущен (11 января 2021 г.)
Сегодня была выпущена версия GnuPG 2.2.27. Это отладочный релиз с небольшими исправлениями ошибок.
Выпущен GnuPG 2.2.26 (21 декабря 2020 г.)
Сегодня была выпущена версия GnuPG 2.2.26. Это отладочный выпуск с улучшенной поддержкой серверов ключей LDAP и Active Directory.
Выпущен GnuPG 2.2.25 (23 ноября 2020 г.)
GnuPG версии 2.2.25 исправляет небольшую регрессию в 2.2.24.
Выпущен GnuPG 2.2.24 (17 ноября 2020 г.)
Сегодня была выпущена версия GnuPG 2.2.24. Это отладочный релиз, исправляющий некоторые давние ошибки.
GnuPG 2.2.23 выпущен (03 сентября 2020 г.) важно
Сегодня была выпущена версия GnuPG 2.2.23. В этой версии исправлена критическая ошибка безопасности в 2.2.21 и 2.2.22 (CVE-2020-25125).
[Примечание: не используйте этот выпуск — используйте вместо него 2.2.23.]
Сегодня была выпущена версия GnuPG 2.2.22. Это ремонтный релиз с небольшими изменениями.
Выпущен GnuPG 2.2.21 (09.07.2020)
[Примечание: не используйте этот выпуск — используйте вместо него 2.2.23.]
После выпуска GnuPG 2.2.20 в марте пришло время получить собранные исправления за последние месяцы: сегодня была выпущена версия GnuPG 2.2.21. Это ремонтный релиз с небольшими изменениями.
Выпущена версия Libgcrypt 1.8.6 (06 июля 2020 г.)
Прошел почти год с момента выпуска последнего релиза, поэтому пришло время для нового отладочного релиза: теперь доступна версия 1.8.6 Libgcrypt.
Gpg4win полностью одобрен для использования в странах ЕС.
Выпущен GnuPG 2.2.19 (07.12.2019)
Мы рады сообщить о доступности GnuPG версии 2.2.19. В этой версии исправлена регрессия, появившаяся в последнем выпуске.
GnuPG 2.2.18 выпущено (25.11.2019)
Мы рады сообщить о доступности GnuPG версии 2.2.18. Это служебный выпуск, в котором исправлено несколько незначительных ошибок и добавлено несколько обновлений функций. В этом выпуске также прекращается использование подписей ключей SHA-1, созданных с этого года. (см. также)
Если вам небезразличны атаки на ECDSA через локальные сайты, вы можете обновить Libgcrypt до версии 1.8.5. CVE-CVE-2019-13627
В этом руководстве описывается, как сгенерировать пару ключей GPG2 (GnuPG 2), подписать и проверить коммиты на платформах Linux и MacOS с помощью Git.
Предпосылки¶
Установите GnuPG 2.
Для систем на базе Debian:
Для систем на базе rpm:
Для систем MacOS установите homebrew _ и установите GPG2
Если вы используете смарт-карту GPG, см. раздел Защита целостности кода с помощью PGP
Сгенерируйте ключи GPG¶
Создайте ключ GPG.
Выберите вариант 1 для «RSA и RSA»
Введите размер ключа 4096 бит (рекомендуется)
Установите срок действия ключа на 2 года, используйте «2y» для 2 лет
Введите «y», чтобы подтвердить срок действия.
Выберите «O» или «Q», чтобы принять ваше имя/адрес электронной почты/комментарий
Дважды введите парольную фразу.
Путь по умолчанию для набора ключей в Linux — /home/$USER/.gnupg/pubring.kbx, а в MacOS — /Users/$USER/.gnupg/pubring.kbx . Этот путь можно переопределить, установив переменную среды $GNUPGHOME так, чтобы она указывала на другой каталог.
Просмотрите отпечаток ключа.
В приведенном выше примере идентификатор длинного ключа пользователя — «0xA46800C5D9A8855E». Используйте длинный идентификатор ключа из ваших ключей и замените на « ` в остальной части документа. Рекомендуется использовать длинный идентификатор ключа, так как 32-битные короткие идентификаторы ключа подвержены атакам коллизии.
Настройте Git для подписи коммитов и отправки подписей. Этот шаг обновляет файл «~/.gitconfig» для подписи коммитов (с вашими ключами GPG2), добавляя отпечаток ключа пользователя по умолчанию и устанавливая для параметра commit.gpgsign значение true. Также добавьте push.gpgsign в качестве истинного знака для всех push-уведомлений.
Установите GPG2 программой по умолчанию.
Загрузите свой открытый ключ на серверы ключей.
В приведенном выше примере $KEY_ID будет A46800C5D9A8855E
Экспортируйте открытый ключ GPG2 и добавьте его в Gerrit.
Выполните в CLI следующее:
Откройте Gerrit проекта и перейдите к настройкам проекта и gpg-ключам.
Нажмите кнопку "Добавить ключ".
Скопируйте вывод приведенной выше команды, вставьте его в поле и нажмите "Добавить".
Настройка gpg-агента¶
Установите gpg-agent и pinentry-mac с помощью brew:
Редактируйте файл ~/.gnupg/gpg.conf, содержащий строку:
Отредактируйте файл ~/.gnupg/gpg-agent.conf и добавьте следующую строку:
Обновите ~/.bash_profile следующим образом:
Уничтожьте все запущенные бродячие демоны gpg-agent:
Перезапустите терминал (или войдите и выйдите), чтобы перезагрузить ваш ~/.bash_profile .
В следующий раз, когда операция Git вызовет gpg, она должна использовать ваш gpg-agent для запуска окна графического интерфейса, чтобы запросить вашу парольную фразу и дать вам возможность сохранить вашу парольную фразу в цепочке ключей.
Подпишите коммит¶
Зафиксировать и отправить изменение
Измените файл и сохраните его в своем любимом редакторе.
Добавьте файл и подпишите фиксацию своим закрытым ключом GPG.
Опция –gpg-sign (-S) использует GPG для подписания коммитов. Параметр –signoff (-s) добавляет строку Signed-off-by в нижний колонтитул сообщения фиксации.
Отправьте патч Герриту.
Это должно привести к тому, что Git запросит у вас фразу-пароль, если ключи ssh защищены паролем.
Наличие подписи GPG или отправка подписи gpg не распознаются Герритом как «изменение», поэтому, если вы забыли сделать это, вам нужно что-то изменить в коммите, чтобы Геррит принял исправление. опять таки. Подправить сообщение коммита — хороший способ.
Это предполагает, что вы настроили git review -s и для push.gpgsign установлено значение true. В противном случае:
Это предполагает, что у вас настроен удаленный gerrit, как показано ниже, где repo — это что-то вроде releng-docs:
Проверьте подпись подписанного коммита локально.
Зеленая галочка рядом с именем пользователя в изменении Gerrit должна указывать на действительную подпись фиксации.
© Copyright 2017-2022, The Linux Foundation.
Создано с использованием Sphinx 4.4.0.
В RVM мы очень серьезно относимся к безопасности и криптографически подписываем (начиная с версии 1.26.0) все выпуски и скрипт rvm-installer, чтобы убедиться, что они исходят из подлинного источника.
Мы используем GPG для подписи. И gpg, и gpg2 должны подойти.
Иногда у gpg возникают проблемы с загрузкой ключей с удаленного сервера, может быть лучше работать с gpg2, если он доступен для вашей системы. Однако сообщалось, что gpg2 в версии 2.1.17 также подвержен такой проблеме. Мы рекомендуем вам понизить или обновить его до более новой версии.
∞Установите наши ключи
Удостоверьтесь, что доверяете ключам только тех людей, которым вы доверяете. Если вы доверяете запуск нашего кода, доверяйте нашим ключам. Вот ключи от наших сопровождающих:
В качестве первого шага, прежде чем пытаться установить RVM, вы должны установить gpg2 и импортировать эти ключи:
Если вы столкнулись с проблемой на указанном выше сервере ключей, попробуйте другой. Некоторые альтернативы представлены ниже:
∞Проблемы с брандмауэром
Если импорт ключей gpg зависает навсегда, возможно, это проблема брандмауэра. Если вы находитесь за брандмауэром, убедитесь, что вы открыли исходящий порт 11371 (TCP).
∞Проблемы с IPv6
Известно, что если на вашем узле не включен протокол IPv6 (что часто происходит в док-контейнерах), некоторые серверы ключей могут не подключиться. Вы можете запретить внутреннему dirmngr gpg использовать IPv6, добавив следующую строку в ~/.gnupg/dirmngr.conf :
Убедитесь, что существующие процессы dirmngr все еще не запущены (и завершите их, если они есть), а затем снова попробуйте выполнить команду gpg --recv-keys, как указано изначально, и она должна работать.
Обратите внимание, что риск здесь заключается в том, что если вам действительно понадобится IPv6 в какой-то момент, вы можете забыть об этой настройке, но для большинства людей это маловероятно.
∞Альтернативы
В качестве альтернативы вы можете импортировать ключи напрямую с нашего веб-сервера, хотя это менее безопасный способ:
∞Ключевая база
Подлинность наших ключей можно подтвердить на keybase.io:
∞Доверяйте нашим ключам
∞Запустить проверенную установку
Обычно мы везде рекомендуем запускать установку с помощью следующей команды:
Это должно быть довольно безопасно, но если вы хотите убедиться, что установщик исходит из действительного источника, вы можете запустить проверенную вручную установку:
Процедура проверки обновлений выполняется автоматически, и новая версия с недействительной подписью не будет установлена.
∞Периодически обновлять ключи
Рекомендуется периодически обновлять статус ключей, чтобы ни один из них не был отозван. Вы также можете добавить его в cron.
Быстрая и простая шпаргалка по gpg
Имена файлов выделены курсивом (примерно, некоторые нет, извините), поэтому, если вы видите, что что-то выделено курсивом, подумайте "поместите туда мое имя файла".
Я использовал имя пользователя как имя, связанное с ключом. Извините, это не очень образно. Я *думаю*, что gpg довольно широк в своих пользовательских назначениях, т.е. имя моего закрытого ключа — Чарльз Локхарт, но я могу сослаться на него, просто введя Локхарт. Это не имеет никакого смысла, извините.
для создания ключа:
gpg --gen-key
обычно можно выбрать значения по умолчанию.
чтобы экспортировать открытый ключ в файл public.key:
gpg --export -a "Имя пользователя" > public.key
Это создаст файл с именем public .key с ASCII-представлением открытого ключа для имени пользователя. Это вариация на тему:
gpg --export
которая сама по себе выводит кучу дерьма на ваш экран. Я рекомендую не делать этого.
gpg --export -a "Имя пользователя"
выводит открытый ключ для имени пользователя в командную строку, что полезно только наполовину
для экспорта закрытого ключа:
gpg --export-secret-key -a "Имя пользователя" > private.key
Это создаст файл с именем private. ключ с представлением ascii закрытого ключа для имени пользователя.
Это очень похоже на экспорт открытого ключа, но вы должны переопределить некоторые средства защиты по умолчанию. Внизу есть примечание (*), объясняющее, почему вам может понадобиться это сделать.
для импорта открытого ключа:
gpg --import public.key
Это добавит открытый ключ из файла "public.key" в вашу группу открытых ключей.
для импорта закрытого ключа:
ПРИМЕЧАНИЕ. Мне сообщили, что на странице руководства указано, что «это устаревшая опция и нигде не используется». Так что это может уже не работать.
gpg --allow-secret-key-import --import private.key
Это добавит закрытый ключ из файла "private.key" в вашу группу закрытых ключей. Внизу есть примечание (*), объясняющее, почему вам может понадобиться это сделать.
чтобы удалить открытый ключ (из вашей группы открытых ключей):
gpg --delete-key "Имя пользователя"
Это удалит открытый ключ из вашей группы открытых ключей.
ВНИМАНИЕ! Если в вашей связке закрытых ключей есть закрытый ключ, связанный с этим открытым ключом, вы получите сообщение об ошибке! Сначала вы должны удалить свой закрытый ключ для этой пары ключей из набора закрытых ключей.
чтобы удалить закрытый ключ (ключ из набора секретных ключей):
gpg --delete-secret-key "Имя пользователя"
Это удалит секретный ключ из набора секретных ключей.
/p>
Чтобы получить список ключей из набора открытых ключей:
gpg --list-keys
Чтобы получить список ключей из набора секретных ключей:
gpg --list-secret-keys
Чтобы создать краткий список чисел, которые можно использовать альтернативным методом для проверки открытого ключа, используйте:
gpg --fingerprint > fingerprint
Это создает файл отпечатка пальца с информацией о вашем отпечатке пальца.
Для шифрования данных используйте:
gpg -e -u "Имя пользователя-отправителя" -r "Имя пользователя-получателя" somefile
Здесь есть несколько полезных опций, например как -u, чтобы указать секретный ключ, который будет использоваться, и -r, чтобы указать открытый ключ получателя.
В качестве примера: gpg -e -u "Чарльз Локхарт" -r "Друг" mydata.tar
Это должно создать файл с именем "mydata.tar.gpg", содержащий зашифрованные данные. Я думаю, вы указываете имя пользователя отправителя, чтобы получатель мог убедиться, что содержимое принадлежит этому человеку (используя отпечаток пальца?).
ПРИМЕЧАНИЕ!: mydata.tar не удаляется, вы получаете два файла, поэтому, если вы хотите, чтобы существовал только зашифрованный файл, вам, вероятно, придется удалить mydata.tar самостоятельно.
Интересное примечание: я зашифровал упреждающий патч ядра, файл размером 55 247 байт, и в итоге получил зашифрованный файл размером 15 276 байт.
Чтобы расшифровать данные, используйте:
gpg -d mydata.tar.gpg
Если у вас есть несколько секретных ключей, он выберет правильный или выведет ошибка, если правильный не существует. Вам будет предложено ввести кодовую фразу. После этого будет существовать файл «mydata.tar» и зашифрованный «оригинал» mydata.tar.gpg.
ПРИМЕЧАНИЕ: когда я изначально писал эту шпаргалку, именно так она работала в моей системе, однако теперь она выглядит так: «gpg -d mydata.tar.gpg» выводит содержимое файла на стандартный вывод. Рабочей альтернативой (во всяком случае, работавшей в моей системе) было бы использование «gpg -o outputfile -d зашифрованного файла.gpg», или, используя mydata.tar.gpg в качестве примера, я бы запустил «gpg -o mydata.tar - д mydata.tar.gpg". В качестве альтернативы вы можете запустить что-то вроде «gpg -d mydata.tar.gpg > mydata.tar» и просто поместить вывод в файл. Казалось, работает в любом случае.
Хорошо, а что, если вы параноидальный ублюдок и хотите зашифровать некоторые из своих файлов, чтобы никто не смог проникнуть в ваш компьютер и получить их? Просто зашифруйте их, используя себя в качестве получателя.
Обмен секретными ключами
ПРИМЕЧАНИЕ! Следующие варианты использования показывают, почему существуют команды импорта/экспорта секретного ключа, или, по крайней мере, пару идей о том, что вы можете с ними сделать. ОДНАКО для обмена этим секретным ключом требуется некоторая логистика. Как передать его с одного компьютера на другой? Я предполагаю, что зашифровать его и отправить по электронной почте, вероятно, будет нормально, но я бы не стал отправлять его в незашифрованном виде по электронной почте, это было бы ОПАСНО.
Сценарий использования *.1. Выше были упомянуты команды для экспорта и импорта секретных ключей, и я хочу объяснить одну из причин, почему вы, возможно, захотите это сделать. По сути, если вам нужна одна пара ключей для всех ваших компьютеров (при условии, что у вас несколько компьютеров), это позволяет вам экспортировать эту пару ключей с исходного компьютера и импортировать ее на другие компьютеры.
Сценарий использования *.2. Выше были упомянуты команды для экспорта и импорта секретных ключей, и я хочу объяснить одну из причин, почему вы, возможно, захотите это сделать. По сути, если вы принадлежите к группе и хотите создать одну пару ключей для этой группы, один человек создаст пару ключей, затем экспортирует открытый и закрытый ключи, передает их другим членам группы и все они будут импортировать эту пару ключей. Тогда член группы или кто-то посторонний может использовать открытый ключ группы, зашифровать сообщение и/или данные и отправить их членам группы, и все они смогут получить доступ к сообщению и/или данным. По сути, вы можете создать упрощенную систему, в которой требуется только один открытый ключ для отправки зашифрованных материалов нескольким получателям.
Читайте также: