Home » Linux » Fehler mit fehlenden Debian APT-Schlüsseln beheben

Fehler mit fehlenden Debian APT-Schlüsseln beheben

In diesem Beitrag lernt ihr, wie ihr Fehler mit fehlenden Debian APT-Schlüsseln beheben könnt. Seit 2025 entfernt Debian die Unterstützung für globale APT-Schlüssel in /etc/apt/trusted.gpg.d/. Stattdessen müssen APT-Quellen explizit mit signed-by konfiguriert werden.

Quelle Bild: luismiguelmorales.com

Hauptproblem

Falls ihr also beim Aktualisieren eures Systems eine Warnung oder Fehlermeldung wie diese erhaltet:

debsuryorg-archive-keyring (2025.03.11) unstable; urgency=medium

  * The /etc/apt/trusted.gpg.d/debsuryorg-archive.gpg global APT key will
    been removed in the next update of the package.

    The script will try to autodetect whether any APT repository is not
    configured with signed-by= directive and will print warning about the
    installation of this package.

    You need to manually add:

    [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg]

    to your APT sources lists.  See the Debian Wiki for more information:

    https://wiki.debian.org/DebianRepository/UseThirdParty#Sources.list_entry

 -- Ondřej Surý <ondrej@debian.org>  Tue, 11 Mar 2025 14:08:14 +0100

müsst ihr eure APT-Quellen entsprechend anpassen.

Schritt-für-Schritt-Anleitung

Überprüfen, ob das Debsury.org-Repository genutzt wird

Führt folgenden Befehl aus, um zu sehen, ob du das Repository in euren APT-Quellen habt:

grep -r "sury" /etc/apt/sources.list /etc/apt/sources.list.d/

Falls eine Zeile wie diese erscheint:

deb http://packages.sury.org/php/ bookworm main

müsst ihr sie anpassen da diese Zeile nicht mehr dem neuen Standard entspricht.

APT-Quellen aktualisieren

Falls das Repository in einer Datei wie /etc/apt/sources.list.d/php.list steht, bearbeitet diese mit:

sudo nano /etc/apt/sources.list.d/php.list

Ändert die Zeile von:

deb http://packages.sury.org/php/ bookworm main

zu:

deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ bookworm main

Speichert die Datei mit STRG + X, dann Y und ENTER.

GPG-Schlüssel herunterladen und speichern

Falls ihr den neuen Schlüssel noch nicht habt oder unsicher seid, ob er korrekt gespeichert wurde, könnt ihr ihn mit folgendem Befehl herunterladen und am richtigen Ort ablegen:

curl -fsSL https://packages.sury.org/php/apt.gpg | sudo tee /usr/share/keyrings/debsuryorg-archive-keyring.gpg > /dev/null

Dieser Befehl lädt den aktuellen GPG-Schlüssel herunter und speichert ihn in /usr/share/keyrings/.

Paketlisten aktualisieren

Sobald die Datei angepasst und der neue Schlüssel gespeichert wurde, ladet die Paketlisten neu:

sudo apt update

Falls keine Fehlermeldungen mehr erscheinen, ist alles korrekt konfiguriert!

Andere betroffene APT-Repositories identifizieren und korrigieren

Fall ihr weitere betroffene Repositories habt, könnt ihr sie mit folgendem Befehl auflisten:

grep -r "deb " /etc/apt/sources.list /etc/apt/sources.list.d/

Falls Zeilen ohne [signed-by=...] erscheinen, müssen sie entsprechend angepasst werden.

Ihr könnt auch nach alten Schlüsseln suchen:

ls /etc/apt/trusted.gpg.d/

Falls ein anderes Repository betroffen ist (z. B. nginx, crowdsec, apache oder anderes), öffnet die entsprechende Datei:

sudo nano /etc/apt/sources.list.d/nginx.list

Passt die Zeile an:

deb http://nginx.org/packages/debian/ bookworm nginx

zu:

deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/debian/ bookworm nginx

Speichert die Datei und ladet den passenden Schlüssel herunter:

curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg > /dev/null

Danach aktualisiert die Paketlisten:

sudo apt update

Falls weitere Repositories betroffen sind, könnt ihr die gleiche Methode anwenden:

  • signed-by hinzufügen
  • Den passenden GPG-Schlüssel herunterladen
  • apt update ausführen

Wo finde ich die passenden signed-by Schlüssel

Falls ihr nicht wisst, wo ihr die korrekten GPG-Schlüssel für ein bestimmtes Repository findet, gibt es mehrere Möglichkeiten:

  1. Offizielle Dokumentation des Repository-Anbieters
    Viele Anbieter listen die korrekten GPG-Schlüssel und signed-by Konfigurationen auf ihrer Website.
  2. APT-Fehlermeldungen prüfen
    Falls apt update fehlschlägt, gibt es oft eine Meldung, die dir den fehlenden Schlüssel nennt.
  3. Manuell über die Schlüsselserver suchen
    Falls der Schlüssel öffentlich verfügbar ist, könnt ihr ihn mit folgendem Befehl abrufen:gpg --keyserver keyserver.ubuntu.com --recv-keys <Schlüssel-ID> Danach könnt ihr ihn in das Keyring-Verzeichnis verschieben: gpg --export <Schlüssel-ID> | sudo tee /usr/share/keyrings/<repo>-archive-keyring.gpg > /dev/null
  4. APT-Quellen selbst inspizieren
    Falls ihr bereits Pakete aus einem Repository installiert habt, könnte sich der passende Schlüssel in einer .gpg-Datei befinden:ls /usr/share/keyrings/

Falls ihr den passenden Schlüssel nicht findet, hilft oft eine Suche mit einer Suchmaschine eurer Wahl mit "GPG key for <Repository-Name>".

Fazit

Diese Änderung ist Teil einer Sicherheitsverbesserung in Debian, um die globale APT-Schlüsselverwaltung abzuschaffen und stattdessen Repository-spezifische Signaturen zu erzwingen. Durch diese Schritte stellt ihr sicher, dass du weiterhin Updates von packages.sury.org und anderen Quellen ohne Probleme erhaltet. Weitere Hilfen um dass Linux System korrekt zu updaten, findet ihr hier.

Quellen:

https://wiki.debian.org/DebianRepository/UseThirdParty#Sources.list_entry

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert