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 <[email protected]>
sub   2048R/0DF57DA8 2012-11-05

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

Kelly Hays
quelle

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).

zhenech
quelle
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
Michal Ingeli
quelle
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

Antoine Claval
quelle
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

Torsten
quelle