APT/Fehlerbehebung/Legacy keyring: Unterschied zwischen den Versionen
Zeile 46: | Zeile 46: | ||
=== Quick and dirty === | === Quick and dirty === | ||
; Hinweis | |||
: Diese Methode kann die Sicherheit Ihres Systems gefährden | |||
Wenn Sie alle Vorsicht in den Wind schlagen wollen, öffnen Sie ein neues Terminalfenster und führen Sie | Wenn Sie alle Vorsicht in den Wind schlagen wollen, öffnen Sie ein neues Terminalfenster und führen Sie |
Version vom 4. September 2024, 07:18 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
apt update
Warning: https://updates.signal.org/desktop/apt/dists/xenial/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
- Ursache
Schlüssel ist im veralteten Schlüsselbund trusted.gpg gespeichert
Lösung
Best Practice
Mit apt-key die Nummer des Schlüssels ermitteln und diesen in die gpg-Datenbank importieren
- Beispiel
Suchen des in der Fehlermeldung erwähnen Schlüssels anhand des Namens
apt-key list
[[...]]
pub rsa4096 2020-01-29 [SC]
8CAE 012E BFAC 38B1 7A93 7CD8 C5E2 2450 0C12 89C0
uid [ unbekannt] TeamViewer Deutschland GmbH (TeamViewer Linux 2020) <support@teamviewer.com>
[[...]]
In meinem Fall suche ich nach dem Schlüssel für TeamViewer, und der sieht wie folgt aus
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
- 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
In diesem Beispiel musste Folgendes ausgeführt werden
# '''apt-key''' ''export 0C1289C0'' | '''gpg''' ''--dearmour -o /etc/apt/trusted.gpg.d/teamviewer.gpg''
- Hinweise
-
- Dieser Vorgang muss für jedes betroffene Repository wiederholt werden
- Der nächste Aufruf von apt updatesollte diese Fehlermeldungen nicht mehr enthalten
Quick and dirty
- Hinweis
- Diese Methode kann die Sicherheit Ihres Systems gefährden
Wenn Sie alle Vorsicht in den Wind schlagen wollen, öffnen Sie ein neues Terminalfenster und führen Sie
# cd /etc/apt # cp trusted.gpg trusted.gpg.d
Wenn Sie das nächste Mal apt update ausführen, wird der betreffende Fehler nicht mehr erscheinen
Hintergrund
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 apt-key add übergeben
# wget -q -O - https://download.bell-sw.com/pki/GnuPG-KEY-bellsoft | apt-key add - Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)) OK
Per APT verteilte Softwarepakete werden signiert
- Damit soll sichergestellt werden, dass ihr wirklich die originalen Pakete von der jeweiligen Organisation wie Debian erhaltet
- Wie das im Detail funktioniert, hängt mit asymmetrischer Kryptografie und der Funktionsweise von PGP zusammen
- Das würde hier den Rahmen sprengen
- 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
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
- Kann man selbst testen, indem man eine Drittanbieter-Paketquelle hinzufügt, ohne vorher deren öffentlichen Schlüssel zu importieren
apt-key ist veraltet
- 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
- Wenn man ein Paket installiert, prüft apt, ob es von irgendjemandem signiert wurde, dessen Schlüsseln wir vertrauen
- Es wird nicht vorher abgefragt, ob der Schlüssel zu der Paketquelle passt
Das ist zwar immer noch sicherer als gar keine Signaturen zu verwenden, aber es schwächt die Sicherheit
- Besser wäre es, wenn ein Schlüssel nur für das dazugehörige Repository akzeptiert wird
- Also eine 1:1 Beziehung, statt eines generellen, bedingungslosen Vertrauensverhältnisses
- Aus diesem Grunde wurde apt-key als veraltet markiert, damit man auf dieses neue Verfahren wechselt
Seit Debian 11 bzw. Ubuntu 22.04 ist apt-key nur als veraltet markiert und daher weiterhin verfügbar
- Allerdings ist das die letzte Hauptversion!
- Mit der nächsten Version von Debian bzw. Ubuntu wird es aller Voraussicht nach entfernt
- Ich werde es daher in den Beiträgen nicht mehr einsetzen und ihr solltet es möglichst auch nicht mehr tun