Мы размещаем некоторые из наших собственных программных пакетов в виде дебетов в собственном репозитории. В целях создания прототипов мы использовали «без аутентификации». Теперь мы пытаемся делать вещи более правильно и делать все это GPG. Я пробовал только для пробного запуска следующее:
1) Сделайте ключ с gpg-gen
~$ gpg --list-keys
/home/me/.gnupg/pubring.gpg
--------------------------------
pub 4096R/BBBBB39F 2017-03-09
uid Someone Somebody <someone@somewhere.com>
sub 4096R/129E9336 2017-03-09
(что, кстати, там есть SUB?)
2) aptly publish
... Это запрашивает мою парольную фразу для указанного ключа, поэтому в этот момент он должен что-то делать с ключом.
3) экспортировать ключ с помощью gpg —export —armor > somefile.pubkey
4) скопируйте файл file.pubkey на тестовую машину
5) run (беги) sudo apt-key add somefile.pubkey
sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2017-03-09 [SC]
E51B E216 4658 FB8B 6E42 8A09 F9BC EF4C BBBB B39F
uid [ unknown] Someone Somebody <someone@somewhere.com>
sub rsa4096 2017-03-09 [E]
…
…
…
Итак, похоже, он попал туда. Подчиненная вещь теперь отображается по-другому?
6) И наконец, sudo apt-get update
:
~$ sudo apt-get update
Hit:1 http://ftp.us.debian.org/debian stretch InRelease
Hit:2 http://ftp.us.debian.org/debian stretch-updates InRelease
Hit:3 http://security.debian.org stretch/updates InRelease
Get:4 http://our.aptly.repo stretch InRelease [2317 B]
Ign:4 http://our.aptly.repo stretch InRelease
Fetched 2317 B in 9s (256 B/s)
Reading package lists... Done
W: GPG error: http://our.aptly.repo stretch InRelease: The following signatures were invalid: E51BE2164658FB8B6E428A09F9BCEF4CBBBBB39F
W: The repository 'http://our.aptly.repo stretch InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Я не понимаю, что здесь происходит. Правонарушение вроде в том, что что-то не подписано? Какой шаг я пропустил?
Последняя установка Debian stretch больше не принимает подписи SHA1. Однако Aptly использовал SHA1 до версии 0.9.7 (соответствующий PR, обратите внимание, что он также был перенесен на v0.9.6.1). Я подозреваю, что используемая вами версия Aptly старше этой. Если да, рассмотрите возможность добавления их репо в ваш sources.list.