pass i gpg: Brak klucza publicznego

13

Używam przepustki od dłuższego czasu; ale po wyeksportowaniu mojego magazynu kluczy i kluczy gpg do innego komputera widzę następujące dane wyjściowe:

$ gpg --list-key
/home/shved/.gnupg/pubring.gpg
------------------------------
pub   2048R/FA829B53 2015-04-28
uid       [ultimate] Yury Shvedov (shved) <[email protected]>
sub   2048R/74270D4A 2015-04-28

Mój klucz został zaimportowany i zaufany, ale nie do użytku:

pass insert test
Enter password for test: 
Retype password for test: 
gpg: 2048R/FA829B53: skipped: No public key
gpg: [stdin]: encryption failed: No public key
fatal: pathspec '/home/shved/.password-store/test.gpg' did not match any files

Co mogę zrobić, aby ponownie użyć mojego klucza?

shved
źródło

Odpowiedzi:

12

pass używa gnupg2, który nie udostępnia swojego klucza z gnupg 1.x.

Zaimportuj ponownie klucze za pomocą gnupg2 zamiast gnupg. Jeśli masz już klucze w gnupg na komputerze docelowym:

$ gpg --export-secret-keys > keyfile
$ gpg2 --import keyfile

Po zaimportowaniu może być konieczne zaktualizowanie zaufania do klucza. Powinieneś zobaczyć Secret key is available.komunikat, jeśli import się powiódł:

$ gpg2 --edit-key FA829B53
[...]
Secret key is available.

sec  rsa4096/FA829B53
     created: 2015-03-14  expires: 2017-03-13  usage: SC  
     trust: unknown      validity: ultimate
ssb  rsa4096/74270D4A
     created: 2015-03-14  expires: 2017-03-13  usage: E   
[ultimate] (1). Yury Shvedov (shved) <[email protected]>

Teraz zaktualizuj zaufanie do swojego klucza:

gpg> trust
[...]
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
[...]
gpg> save
Łukasz Lis
źródło
pass (przynajmniej wersja 1.6.3) gpgnie używa gpg2. A gpg2 to tylko przeprojektowanie. Dopiero w wersji 2.1 wprowadzono pewne zmiany (łączenie kluczy publicznych i prywatnych w breloku publicznym.
Anthon
To nie dotyczy mojej wersji (1.6.5). Z kodu źródłowego: 10 GPG = "gpg" 11 eksport GPG_TTY = "$ {GPG_TTY: - $ (tty 2> / dev / null)}" 12 które gpg2 &> / dev / null && GPG = "gpg2" 13 [ [-n $ GPG_AGENT_INFO || $ GPG == "gpg2"]] && GPG_OPTS + = ("--batch" "--use-agent") Oznacza to, że 'pass' używa gpg, chyba że gpg2 jest obecny w tym samym systemie.
Łukasz Lis
1
więc używa gpg, chyba że gpg2 jest zainstalowany i dla celów przejścia są one kompatybilne, w przeciwnym razie wystąpiłyby straszne problemy, gdybyś zainstalował gpg2 jakiś czas po rozpoczęciu korzystania z pass (czego nie powinieneś, ponieważ czasami pozostawia niezaszyfrowane dane w katalogu „przechowywania”).
Anthon
Po pierwsze, nie to argumentowałeś w pierwszej odpowiedzi. Po drugie, nie odpowiedziałeś mi, że nie udostępniają kluczy. Po trzecie, są one kompatybilne tylko dlatego, że oba mogą odszyfrować wiadomości, jeśli otrzymają odpowiedni tajny klucz.
Łukasz Lis
7

Linia wyjściowa

gpg: 2048R/FA829B53: skipped: No public key

pokazuje niewłaściwą passinicjalizację. Zainicjowałeś passsię poleceniem, pass init 2048R/FA829B53podczas gdy powinieneś to zrobić za pomocą polecenia pass init FA829B53. Aby rozwiązać problem, należy zmienić zawartość pliku ~/.password-store/.gpg-idz 2048R/FA829B53na FA829B53i zatwierdzić zmiany.

PS

Wszystkie porady @ Łukasz Lis są poprawne i należy je również wypełnić. W innym przypadku nie będzie można odszyfrować przepustki:

$ pass -c test

wyświetli błąd: gpg: decryption failed: No secret key

Andrij
źródło
Przydatny. Może się zdarzyć, że (źle) pass init SomethigElseThanFirstStore.
Nikos Alexandris
0

Zauważyłem to podczas tworzenia nowego sklepu i zainicjowałem go kluczowym identyfikatorem, takim jak „2048R / FA829B53”, co, jak myślałem, było zrobione w przeszłości, a patrząc na starą kopię zapasową .gpg_id jest inny.

Jednak teraz wydaje się, że używany jest tylko FA829B53, a na bieżących stronach podręcznika autor używa swojego adresu e-mail.

Sprawdziłbym plik gpg_id, dla mnie w nowym sklepie to tylko FA829B53 i żadnych innych linii

Za darmochę
źródło
0

Sprawdź, czy Twój zaufany klucz jest taki sam w pliku ~/.password-store/.gpg-id

m3asmi
źródło
To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienia, zostaw komentarz pod postem. - Z recenzji
Kevdog777
rzeczywiście miałem ten sam problem, rozwiązuję go z tym
m3asmi