Ich versuche, dem Passwort-Manager Passwörter hinzuzufügen. Meine Versuche scheitern jedoch mit GPG-Fehlern ohne öffentlichen Schlüssel. Warum?


27

Ich versuche Pass: den Standard-Unix-Passwort-Manager zu installieren. Wenn ich jedoch versuche, der Anwendung Passwörter hinzuzufügen, erhalte ich diese Fehler

gpg: Kelly's Passwords: skipped: No public key
gpg: [stdin]: encryption failed: No public key

GPG Public Keys?

Wenn ich den Befehl gpg --list-keyseingebe, erhalte ich:

/home/khays/.gnupg/pubring.gpg
------------------------------
pub   2048R/64290B2D 2012-11-05
uid                  Kelly Hays <hays.kelly@gmail.com>
sub   2048R/0DF57DA8 2012-11-05

Ich bin ein wenig verloren davon, wie ich dem abhelfen kann. Irgendwelche Ideen?

Antworten:


28

Wie haben Sie den Passwortspeicher erstellt? pass init "Kelly's Passwords"? Wenn ja, ist dies falsch, sollten Sie angerufen haben pass init 64290B2D.

Und wenn dann pass insert fooscheitern wird mit:

gpg: fooo: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found

dann müssen Sie zunächst Ihren eigenen Schlüssel vertrauen ( gpg --edit-key 64290B2D, trust, 5, save).


Ich füge nur für diejenigen hinzu, die einen Schritt zurück waren wie ich, du solltest zuerst den gpg-Schlüssel mitgpg --generate-key
— ItayB,

2
@ ItayB der Befehl zum Generieren eines GPG-Schlüssels ist eigentlich gpg --gen-key(in GPG 1.4.20)
— Rubanov

In einem Fall führt die Verwendung von gpg(Version 1.4.20) unter Xubuntu immer zu Fehlern (Generieren von Passwörtern über pass). Mit gpg2(Version 2.1.11) funktionierte alles einwandfrei.
— Nikos Alexandris

Der 'Schlüssel', z. B. 64290B2D, ist alles, was Sie zur Identifizierung des Schlüssels verwendet haben, in meinem Fall eine E-Mail-Adresse, die als uid mitgpg -k
— John Mee

5

Wenn bei den gleichen Indikationen jemand über dieses Problem stolpert, ist die Lösung möglicherweise etwas anders. Sie passverwenden gpg2anstelle von gpg, Sie haben möglicherweise verwendet, um Ihre Schlüssel zu generieren / zu verwalten (oder umgekehrt). Überprüfen Sie mit:

bash -x $(which pass) insert foo

2
WTF !? Warum werden sowohl gpg als auch gpg2 auf einem neuen System installiert? Warum erwähnen weder die Pass-Manpage noch die Website, wie der! @ # &% Damned gpg-Schlüssel erstellt wird?
— Tobia

2
Falls man schon eine mit GPG 1 erstellt hat - so kann man diese in GPG 2 importieren:gpg2 --import ~/.gnupg/secring.gpg
— maxschlepzig

2

Ich habe den gleichen Fehler für eine Weile, das Ausführen der Bash in Debug hilft. (bash -x), dann wurde mir klar, dass pass einen nicht existierenden gpg-Schlüssel in .password-store / .gpg-id aufgelistet hatte


1

Ich habe den gleichen Fehler erhalten, aber das Überprüfen mit gpg2 --list-keysgibt mir

pub   rsa4096/0x12345678 2016-11-22 [SC] [expired: 2018-11-26]

Also ist meine Lösung zu

gpg --edit-key 0x12345678
gpg> expire
...
gpg> save

Siehe https://unix.stackexchange.com/a/177310/14315

Wenn Sie Unterschlüssel erneuern müssen, verwenden Sie Folgendes:

> e.g. if the subkey whose validity you want to extend is the first listed
> subkey, or if it is the only listed subkey, then the  command would be
> Command> key 1
> this will put a * after the word sub, indicating that this particular
> subkey has been selected. then
> Command> expire
> and follow the prompts.

Quelle https://lists.gnupg.org/pipermail/gnupg-users/2005-June/026063.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.