Wie kann apt-get Source Verifizierung funktionieren?

9160
user28464

Beispiel (mit Debian Wheezy):

sudo apt-get source hello 

Ergebnis:

Reading package lists... Done Building dependency tree  Reading state information... Done Need to get 705 kB of source archives. Get:1 http://ftp.us.debian.org/debian/ testing/main hello 2.8-3 (dsc) [1287 B] Get:2 http://ftp.us.debian.org/debian/ testing/main hello 2.8-3 (tar) [697 kB] Get:3 http://ftp.us.debian.org/debian/ testing/main hello 2.8-3 (diff) [6598 B]  Fetched 705 kB in 8s (80.6 kB/s)  gpgv: keyblock resource `/root/.gnupg/trustedkeys.gpg': file open error gpgv: Signature made Wed Feb 13 10:30:20 2013 UTC using RSA key ID 9F1B8B32 gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./hello_2.8-3.dsc dpkg-source: info: extracting hello in hello-2.8 dpkg-source: info: unpacking hello_2.8.orig.tar.gz dpkg-source: info: unpacking hello_2.8-3.debian.tar.gz 

Das Paket dpkg-dev und debian-keyring ist bereits installiert.

Ich habe versucht, apt-get source als Benutzer auszuführen, als root zuvor "gpg --recv-keys 9F1B8B32" als Benutzer und als root verwendet. Nichts half, die heruntergeladenen Quellen zu überprüfen.

Wie kann ich diese Warnung "dpkg-source: warning: Signatur nicht überprüfen" loswerden?

7
Versuchen Sie es mit `gpg --keyserver keyring.debian.org --recv-keys 9F1B8B32`? Angs vor 11 Jahren 0
Hat nicht geholfen... user28464 vor 11 Jahren 0
Ich habe mit apt-get source hallo-debhelper gearbeitet, und ich war root im root-Verzeichnis. ling vor 9 Jahren 0

4 Antworten auf die Frage

9
Matija Nalis

tun

apt-get install debian-keyring 

um alle Debian-Entwickler-Schlüsselringe zu installieren. Es würde danach prüfen.

Das Paket dpkg-dev und debian-keyring ist bereits installiert. Die ursprüngliche Frage wurde mit diesen Informationen bearbeitet. user28464 vor 11 Jahren 0
@ user28464 das ist seltsam, können Sie versuchen "apt-get Update; apt-get install --reinstall debian-keyring"? was gibt "ls -l / usr / share / keyrings" zurück? Matija Nalis vor 11 Jahren 0
Leider muss "apt-get install debian-keyring / sid" gelesen werden, um die meiste Zeit zu funktionieren. Tino vor 9 Jahren 0
Dies (ohne / sid) hat für mich bei Debian Jessie funktioniert JinnKo vor 9 Jahren 1
1
ZakW

Sie debian-keyringwollen (die .dsczu überprüfende Datei wird vom Betreuer signiert), aber bei der Installation müssen debian-keyringnoch einige Klempnerarbeiten vorgenommen werden, um gpgdie Entwicklerschlüssel in Betracht zu ziehen (automatisch in Betracht zu ziehen, wäre dies eine Dose Würmer) als Teil der Nachinstallation durchgeführt).

Wenn es sich um ein Einzelstück handelt, überprüfen Sie das .dscnach dem Abrufen erneut mit:

gpg --keyring /usr/share/keyrings/debian-maintainers.gpg --verify *.dsc 

Wenn Sie mehrere erwerben, fügen Sie Folgendes hinzu:

keyring /usr/share/keyrings/debian-maintainers.gpg 

zu deinem ~/.gnupg/gpg.conf; Von da an werden gpg(und gpgv) die Entwickler- / Verwalter-Schlüssel für die Signaturüberprüfung berücksichtigen. (Wenn Sie paranoid sind, können Sie auch /usr/share/keyrings/debian-keyring.gpgEntwickler verwenden, die keine Entwickler sind.)

Weder Ansatz werden die Schlüssel machen als gültig anerkannt werden, aber das ist wahrscheinlich das, was Sie wollen - wenn Sie erhalten debian-keyringmit einem sanely konfiguriert apt-get/ aptitudeund betreffenden Unterschrift Paket wurde überprüft, können Sie angemessen darauf verlassen, dass die Schlüssel dort wirklich an die Entwickler / Betreuer gehören.

Ist es nicht so, dass "apt-get source" "dscverify" verwendet, um Signaturen zu überprüfen? Die Manpage von `squeeze` für` dscverify` listet `/ usr / share / keyrings / debian-maintenanceers.gpg` als einen der Orte auf, an denen nach dem debian-Schlüsselring gesucht werden kann. x-yuri vor 9 Jahren 0
0
Tino

Das wichtige Detail, das hier fehlt, ist, dass Sie den Schlüsselbund benötigen sid, nicht den Schlüsselbund stable, denn nur der Schlüsselbund von sid trägt alle Entwickler. Beachten Sie die /sidnächste Zeile:

apt-get install debian-keyring/sid 

Um zu erreichen sid, benötigen Sie normalerweise eine Zeile wie folgt /etc/apt/source.list:

deb http://http.debian.net/debian/ sid main 

(Und vergessen Sie nicht apt-get updatedanach.)

Aber Vorsicht! Wenn es sidin Ihrem sources.listSystem sitzt, neigt es dazu, sidgegen Ihren Willen zu werden. Um dies zu verhindern, fügen Sie eine Zeile hinzu, /etc/apt/apt.confdie wie folgt aussieht:

APT::Default-Release "stable"; 

(Es gibt viele andere Möglichkeiten sid, dies zu verhindern, dies ist die einfachste, die ich kenne.)

Anmerkungen:

  • Hinweise zu dieser Lösung wurden unter http://debian.distrosfaqs.org/debian-user/signature-of-wheezys-linux-source-package/ gefunden.
  • Bevor ich das gefunden habe, bin ich auf tausende von Seiten gestoßen, die Sie dazu aufforderten, den fehlenden Schlüssel einfach von einem Schlüsselserver abzurufen: Machen Sie niemals so eine dumme Sache, um eine Signatur zu überprüfen! Wenn ein MitM Ihnen ein gefälschtes Paket senden konnte, kann Ihnen dasselbe auch eine gefälschte Antwort des Schlüsselservers senden. Daher ist ein Schlüssel, der von einem Keyserver gezogen wird, einfach Schlangeöl. (Und in einem Sicherheitskontext ist das Glauben an "Schlangenöl" das wahrscheinlich Dümmste, was Sie tun können.)
0
x-yuri

Geht man von „gpgv: Keyblock Ressource` /root/.gnupg/trustedkeys.gpg: "Datei öffnen Fehler“ Zeile, müssen Sie in laufen gpgs Fehler ' . Am Ende apt-get sourceläuft gpgmit --no-optionSwitch. Was fehlschlägt, wenn kein homedir ( ~/.gnupg) existiert. Man kann hier Abhilfe schaffen mit: gpg -k. Weitere Details hier .