Надеюсь помочь, но я немного не в теме, потому что наткнулся на этот вопрос, когда у меня возникла не связанная с этим проблема. Во время обновление gpg 2.1.6-> 2.1.10 Я столкнулся с проблемой синтаксического анализа закрытого ключа Ed25519: https://bugs.gnupg.org/gnupg/issue2096 . В сценарии, который я написал, царапины мой собственный зуд, он может сбрасывать незащищенный ключ S-выражения, который я смог отредактировать и повторно зашифровать.
Что касается этого вопроса, я написал сценарий Python ( https://gist.github.com/zougloub/3058d56857ba400b7ec3 ), который использует gpg-agent для извлечения незащищенного закрытого SSH-ключа S-выражения. , путем получения ключа переноса ключей с экранированием libassuan, зашифрованного ключа и его расшифровки (с использованием libgcrypt). Это не полностью отвечает на ваш вопрос, поскольку не выгружает данные в формате SSH.
Надеюсь, вы добьетесь большего, так как данные сейчас, по крайней мере, находятся в состоянии, пригодном для анализа.
Дополнительные указатели:
libgcrypt имеет библиотеку синтаксического анализа s-выражений и некоторые документы: https://www.gnupg.org/documentation/manuals/gcrypt/Used-S_002dexpressions.html # Used-S_002dexpressions
gpg имеет код C, например sexp_key_extract
, ssh_send_key_public
, ssh_handler_request_identities
Мне было любопытно потратить лишнюю милю, но могу ли я потратить лишнюю милю Я уже потерял слишком много времени на гиков ... кто-нибудь в здравом уме просто восстановил бы SSH-ключ: D
С уважением,
Вам необходимо установить версию Debian debian-archive-keyring
, пакет, содержащий ключи архива. В настоящее время у вас есть Ubuntu.(debian-keyring
содержит ключи разработчиков.)
Вероятно, вам придется загрузить его вручную и установить с помощьюdpkg -i
(от имени пользователя root или с помощьюsudo
).
В качестве долгосрочного -исправления вы должны либо удалить Bionic из своих репозиториев, либо правильно настроить закрепление, чтобы оно не использовалось в качестве кандидата на обновление по умолчанию.
попробуйте следовать, если ничего не работает:
apt update --allow-unauthenticated