APT/Fehlerbehebung/Legacy keyring: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „== Legacy keyring == ''Key is stored in legacy trusted.gpg keyring'' Schlüssel ist im veralteten Schlüsselbund trusted.gpg gespeichert Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)) Diese Fehlermeldung erscheint seit Debian 11, wenn man versucht, einen neuen GnuPG-Schlüssel hinzuzufügen Bislang wurde für Drittanbieter-Paketquellen von APT-Paketen der öffentliche Schlüssel heruntergeladen und an '…“
 
 
(81 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Legacy keyring ==
'''Legacy keyring''' - Schlüssel in veralteten Schlüsselbund gespeichert
''Key is stored in legacy trusted.gpg keyring''


Schlüssel ist im veralteten Schlüsselbund trusted.gpg gespeichert
== Fehlermeldung ==
Key is stored in legacy trusted.gpg keyring
  Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8))
  Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8))


Diese Fehlermeldung erscheint seit Debian 11, wenn man versucht, einen neuen GnuPG-Schlüssel hinzuzufügen
; Beispiel
<syntaxhighlight lang="bash" highlight="1">
sudo apt update
Warning: https://packages.cisofy.com/community/lynis/deb/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
</syntaxhighlight>


Bislang wurde für Drittanbieter-Paketquellen von APT-Paketen der öffentliche Schlüssel heruntergeladen und an '''apt-key add''' übergeben
; Ursache
# '''wget -q -O - <nowiki>https://download.bell-sw.com/pki/GnuPG-KEY-bellsoft</nowiki> | apt-key add -'''
Die Datei ''trusted.gpg'' (Schlüsselbund) ist veraltetet
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8))
 
OK
== Lösungen ==
{| class="wikitable options col1center"
! Möglichkeit !! Beschreibung
|-
| 1 || [[#Schlüssel exportieren|Schlüssel exportieren]]
|-
| 2 || [[#Schlüssel neu einrichten|Schlüssel neu einrichten]]
|-
| 3 || [[#trusted.gpg kopieren|trusted.gpg kopieren]]
|}
 
=== Schlüssel exportieren ===
Schlüssel in eigene Datei exportieren


=== Hintergrund ===
; Ermittlung der Schlüssel-ID
Per APT verteilte Softwarepakete werden signiert
Suche des Schlüssels anhand seines Namens
* Damit soll sichergestellt werden, dass ihr wirklich die originalen Pakete von der jeweiligen Organisation wie Debian erhaltet
<syntaxhighlight lang="bash" highlight="1,8" line>
* Wie das im Detail funktioniert, hängt mit asymmetrischer Kryptografie und der Funktionsweise von PGP zusammen
apt-key list
** Das würde hier den Rahmen sprengen
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
** Wir belassen es daher an der Stelle dabei, dass sich mit der Signatur die Integrität der Pakete sicherstellen lässt – was grundsätzlich eine sinnvolle Sache ist und die Sicherheit erhöht
/etc/apt/trusted.gpg
--------------------


Mit '''apt-key add''' wird der öffentlichen Schlüssel des Repositorys gespeichert und ihm vertraut
[[...]]
* Ansonsten hätte das System kein Vertrauensverhältnis – die Installation von Paketen aus nicht vertrauenswürdigen Quellen würde abgewiesen
pub  rsa4096 2021-06-22 [SC] [verfällt: 2031-06-20]
* Kann man selbst testen, indem man eine Drittanbieter-Paketquelle hinzufügt, ohne vorher deren öffentlichen Schlüssel zu importieren
      84FA A998 3B24 AEF2 4D6C  87F1 FEBB 7D18 1257 6482
uid        [ unbekannt ] CISOfy software signing <software@cisofy.com>
sub  rsa4096 2021-06-22 [E] [verfällt: 2031-06-20]
sub  rsa4096 2021-06-22 [S] [verfällt: 2031-06-20]
[[...]]
</syntaxhighlight>


==== apt-key ist veraltet ====
; Schlüssel-ID
* Fügt ihr einen neuen Schlüssel mit apt-key hinzu, wird dieser in einen Ordner von vertrauenswürdigen Schlüsseln (konkret '''/etc/apt/trusted.gpg.d''') abgelegt
Die letzten 8 Zeichen der Schlüssel-Nummer (Zeile 8) ohne Leerzeichen
* Wenn man ein Paket installiert, prüft apt, ob es von '''irgendjemandem''' signiert wurde, dessen Schlüsseln wir vertrauen
* Hier '''1257 6482'''
* Es wird nicht vorher abgefragt, ob der Schlüssel zu der Paketquelle passt
* '''12576482'''


Das ist zwar immer noch sicherer als gar keine Signaturen zu verwenden, aber es schwächt die Sicherheit
; Schlüssel exportieren
* Besser wäre es, wenn ein Schlüssel nur für das dazugehörige Repository akzeptiert wird
* Umwandeln in eine .gpg-Datei
* Also eine 1:1 Beziehung, statt eines generellen, bedingungslosen Vertrauensverhältnisses
* Dateinamen angeben, der zu dem Paket passt, für das der Schlüssel bestimmt ist
* Aus diesem Grunde wurde '''apt-key''' als veraltet markiert, damit man auf dieses neue Verfahren wechselt


Seit Debian 11 bzw.&nbsp;Ubuntu 22.04 ist [[apt-key]] nur als veraltet markiert und daher weiterhin verfügbar
; Beispiel
* Allerdings ist das die letzte Hauptversion!
<syntaxhighlight lang="bash" highlight="1">
* Mit der nächsten Version von Debian bzw.&nbsp;Ubuntu wird es aller Voraussicht nach entfernt
sudo apt-key export 12576482 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/lynisCISOfy.gpg
* Ich werde es daher in den Beiträgen nicht mehr einsetzen und ihr solltet es möglichst auch nicht mehr tun
</syntaxhighlight>


=== Lösung ===
; Test
# '''apt-key''' ''list''
''[[apt update]]'' sollte diese Fehlermeldungen nicht mehr ausgeben


Blättern Sie sorgfältig durch die Liste
; Hinweise
* Achten Sie darauf, wie die Dinge angeordnet sind
: Dieser Vorgang muss für jedes betroffene Repository wiederholt werden
* Suchen Sie den Abschnitt, in dem das in der ersten Warnung aufgeführte Paket erwähnt wird (wenn Sie mehrere Warnungen sehen, müssen Sie diese Schritte nacheinander für jede einzelne wiederholen)


In meinem Fall suche ich nach dem Schlüssel für TeamViewer, und der sieht wie folgt aus
=== Schlüssel neu einrichten ===
pub rsa4096 2020-01-29 [SC]
; Weitere Möglichkeit
8CAE 012E BFAC 38B1 7A93 7CD8 C5E2 2450 0C12 89C0
# Schlüssel löschen
uid [ unbekannt] TeamViewer Deutschland GmbH (TeamViewer Linux 2020) <support@teamviewer.com>
# Schlüssel neu anlegen


Kopieren Sie die letzten 8 Zeichen aus der zweiten Zeile - im obigen Beispiel ist dies 0C12 89C0 - und wandeln Sie sie mit dem folgenden Befehl in eine .gpg-Datei um
=== trusted.gpg kopieren ===
* Denken Sie daran, das Leerzeichen zwischen den 8 Zeichen wegzulassen und einen gpg-Dateinamen anzugeben, der zu dem Paket passt, für das der Schlüssel bestimmt ist
Gesamte trusted.gpg kopieren
; Warung
: Diese Methode kann die Sicherheit Ihres Systems gefährden


In meinem Beispiel musste ich Folgendes ausführen
<syntaxhighlight lang="bash" highlight="1" line>
# '''apt-key''' ''export 0C1289C0'' | '''gpg''' ''--dearmour -o /etc/apt/trusted.gpg.d/teamviewer.gpg''
/etc/apt
sudo cp trusted.gpg trusted.gpg.d
</syntaxhighlight>


Wenn Sie das nächste Mal ein apt-Update ausführen, wird der Fehler mit dem veralteten Schlüssel für das gerade angewendete Repository nicht mehr erscheinen (wenn allerdings mehr als ein Repository betroffen ist, müssen Sie die obigen Schritte für jedes einzelne wiederholen)
<noinclude>


==== Methode 2: der schnelle Weg ====
== Anhang ==
Der "empfohlene" Weg, um apt key deprecations Fehler unter Ubuntu zu beheben, ist die oben beschriebene Methode
=== Siehe auch ===
* Aber es gibt auch eine "schnelle und schmutzige" Lösung
* [[apt-key]]
Auch wenn die unten beschriebene Methode funktioniert hat, möchte ich betonen, dass a) Ihre Erfahrungen variieren können und b) es nicht der klügste Weg ist, dieses Problem zu lösen, da es, abhängig von den Legacy-Schlüsseln auf Ihrem System, die Sicherheit Ihres Systems gefährden könnte
{{Special:PrefixIndex/APT/Fehlerbehebung}}


Wenn Sie alle Vorsicht in den Wind schlagen wollen, öffnen Sie ein neues Terminalfenster und führen Sie
==== Dokumentation ====
# cd /etc/apt
===== Man-Pages =====
# cp trusted.gpg trusted.gpg.d
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====


Wenn Sie das nächste Mal apt update ausführen, wird der betreffende Fehler nicht mehr erscheinen
[[Kategorie:APT/Fehlerbehebung]]
</noinclude>

Aktuelle Version vom 7. September 2024, 21:31 Uhr

Legacy keyring - Schlüssel in veralteten Schlüsselbund gespeichert

Fehlermeldung

Key is stored in legacy trusted.gpg keyring
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8))
Beispiel
sudo apt update
Warning: https://packages.cisofy.com/community/lynis/deb/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Ursache

Die Datei trusted.gpg (Schlüsselbund) ist veraltetet

Lösungen

Möglichkeit Beschreibung
1 Schlüssel exportieren
2 Schlüssel neu einrichten
3 trusted.gpg kopieren

Schlüssel exportieren

Schlüssel in eigene Datei exportieren

Ermittlung der Schlüssel-ID

Suche des Schlüssels anhand seines Namens

apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------

[[...]]
pub   rsa4096 2021-06-22 [SC] [verfällt: 2031-06-20]
      84FA A998 3B24 AEF2 4D6C  87F1 FEBB 7D18 1257 6482
uid        [ unbekannt ] CISOfy software signing <software@cisofy.com>
sub   rsa4096 2021-06-22 [E] [verfällt: 2031-06-20]
sub   rsa4096 2021-06-22 [S] [verfällt: 2031-06-20]
[[...]]
Schlüssel-ID

Die letzten 8 Zeichen der Schlüssel-Nummer (Zeile 8) ohne Leerzeichen

  • Hier 1257 6482
  • 12576482
Schlüssel exportieren
  • Umwandeln in eine .gpg-Datei
  • Dateinamen angeben, der zu dem Paket passt, für das der Schlüssel bestimmt ist
Beispiel
sudo apt-key export 12576482 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/lynisCISOfy.gpg
Test

apt update sollte diese Fehlermeldungen nicht mehr ausgeben

Hinweise
Dieser Vorgang muss für jedes betroffene Repository wiederholt werden

Schlüssel neu einrichten

Weitere Möglichkeit
  1. Schlüssel löschen
  2. Schlüssel neu anlegen

trusted.gpg kopieren

Gesamte trusted.gpg kopieren

Warung
Diese Methode kann die Sicherheit Ihres Systems gefährden
/etc/apt
sudo cp trusted.gpg trusted.gpg.d


Anhang

Siehe auch

Dokumentation

Man-Pages
Info-Pages

Links

Projekt
Weblinks