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.

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 ihr 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

  • | |

    Twitter / X ohne Account nutzen

    In den letzten Jahren hat sich Twitter – inzwischen "X" genannt – dramatisch verändert. Wo früher öffentliche Tweets ohne Anmeldung lesbar waren, werdet Ihr heute fast überall mit einem Accountzwang...

  • Systemwiederherstellung unter Linux mit TimeShift

    Timeshift ist eine leistungsstarke Systemwiederherstellung unter Linux, die es ermöglicht, das gesamte System zu einem früheren Zeitpunkt wiederherzustellen. Dieses Tool ist besonders nützlich, um das System vor kritischen Fehlern zu...

  • Programme einfach installieren unter Linux

    Ich höre immer wieder dass es extrem kompliziert und nicht einfach sei, Programme unter Linux zu installieren, deshalb und weil die Verbreitung von Linux in der heutigen Zeit stetig zunimmt,...

  • LibreOffice auf Deutsch umstellen

    In diesem kurzen Artikel zeige ich euch, wie ihr LibreOffice auf Deutsch, oder auch andere Sprachen, einfach umstellen könnt. Habt ihr eine Linux Distro installiert, ist LibreOffice meisst auf Englisch...

  • Braucht Linux einen Virenschutz

    In diesem Beitrag geht es darum, ob Linux einen Virenschutz braucht, oder ob Ihr darauf verzichten könnt. Linux ist ein Open-Source-Betriebssystem, das für seine Sicherheit und Stabilität bekannt ist. Viele...

  • Midnight Commander - DOS Feeling auf Linux

    Midnight Commander, häufig als MC abgekürzt, ist ein mächtiger und vielseitiger Dateimanager für Linux und andere Unix-ähnliche Betriebssysteme und bringt zudem richtiges DOS Feeling mit. Entwickelt in den frühen 1990er...

6 Kommentare

  1. Hallo ich hab genau solch ein Problem aktuell. Allerding komme ich da grad nicht weiter denn;

    grep -r „deb “ /etc/apt/sources.list /etc/apt/sources.list.d/

    gibt folgendes aus

    /etc/apt/sources.list.d/sury-php.list:deb https://packages.sury.org/php/ bookworm main

    Wie bekomme ich den korrekten GPG-Schlüssel herunterladen und gespeichert?

    lg

  2. ach nach

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

    bekomme ich bei „sudo apt update“ folgende Meldung

    N: Datei »plesk.list.back« in Verzeichnis »/etc/apt/sources.list.d/« wird ignoriert, da sie eine ungültige Dateinamen-Erweiterung hat.
    E: Widersprüchliche Werte gesetzt für Option Signed-By betreffend die Quelle https://packages.sury.org/php/ bookworm: /usr/share/keyrings/deb.sury.org-php.gpg !=
    E: Die Liste der Quellen konnte nicht gelesen werden.

  3. Hallo Mario,

    du hast eine doppelte Konfiguration! Es gibt noch eine weitere Datei, die das sury.org Repository definiert, aber mit einem anderen Schlüssel (`deb.sury.org-php.gpg`).

    Suche alle sury-Konfigurationen:

    grep -r „sury“ /etc/apt/sources.list.d/

    Entweder die andere Datei löschen oder dort ebenfalls auf `/usr/share/keyrings/debsuryorg-archive-keyring.gpg` anpassen, damit beide Dateien den gleichen Schlüssel verwenden.

    Die Warnung zu `plesk.list.back` kannst du ignorieren – das ist nur eine Backup-Datei.

    lg

    1. Hab´s gefunden :/

      die sury-php.list in /etc/apt/sources.list.d war noch fehlerhaft. Hab es nun geändert von

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

      in

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

      und anschließend

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

      nun läuft alles. Oh man die nacht war lang, daher hab ichs übersehen. Danke dir und schönen Sonntag noch

Schreibe einen Kommentar

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