2015-02-04 423 views
12

Mam plik gpg .key, który jest używany jako hasło do odszyfrowania pliku .dat.pgp. Zaszyfrowany plik .data.pgp zostanie pomyślnie rozszyfrował na jednym serwerze z tego samego pliku .key stosując następujące polecenieDeszyfrowanie gpg nie powiedzie się bez tajnego błędu klucza

cat xxx_gpg.key | /usr/bin/gpg --batch --quiet -o xxx.dat --passphrase-fd O -d xxx.dat.pgp 

ale kiedy przenieść samego klucza do innego xxx_gpg.key serwerze i uruchomić tę samą powyższego polecenia, mam następujący błąd -

gpg: decryption failed: No secret key 

EDIT:

Uważam, że gpg --list-secret-keys powraca jakieś dane na serwerze, na którym działa, ale żadne wyniki są zwracane do innego serwera.

Jak możemy skonfigurować klucz tajny

+0

Dokładna ta sama wersja gpg na każdej maszynie? – Xen2050

+0

ta sama wersja gpg na obu miejscach - 2.0.14 – fortm

+0

hmmm. Podobno '--passphrase-fd' czyta tylko" pierwszą linię ", czy te wyglądają identycznie w każdym systemie? Może inna powłoka konwertuje je lub potoku inaczej? Właśnie zobaczyłem skrzynkę, w której odwrócone ukośniki zostały "zjedzone" przez przeczytanie ... – Xen2050

Odpowiedz

10

Wygląda tajny klucz nie znajduje się na innym komputerze, więc nawet z właściwym hasłem (odczyt z pliku), to nie będzie działać.

Opcje te powinny działać, aby

  • Albo skopiować breloki (może być wymagane tylko tajny brelok, ale pierścień publiczna jest publiczna i tak) na drugą maszynę
  • lub wyeksportować tajny klucz & następnie importowanie go na innym komputerze

kilka użytecznych szukający opcje z man gpg:

--export
Albo wyeksportować wszystkie klucze od wszystkich breloki (domyślnie breloki i tych zarejestrowany poprzez opcję --keyring) lub jeżeli przynajmniej jedna nazwa jest podana, te o podanej nazwie. Nowy klucz zapisywany jest do STDOUT lub do pliku podanego z opcją --output. Użyj razem z --armor do --armor do wysyłaj te klucze.

--export-secret-keys
To samo, co --export, ale zamiast tego eksportuje tajne klucze.

--import
--fast-import
importu/scalania kluczy. Dodaje podane klucze do kluczy. Szybka wersja jest obecnie tylko synonimem.

A może

--keyring file
Dodaj plik do aktualnej listy breloki. Jeśli plik zaczyna się od tyldy i ukośnika, zostaną one zastąpione przez katalog $ HOME. Jeśli nazwa pliku - nie zawiera ukośnika, przyjmuje się, że znajduje się w katalogu GnuPG home ("~/.gnupg", jeśli nie jest używany --homedir lub $ GNUPGHOME).

Należy pamiętać, że dodaje to klucz do bieżącej listy.Jeśli chcesz użyć określonego klucza, użyj --keyring i --no-default-keyring.

--secret-keyring file
Tak samo, jak --keyring, ale do tajnych breloków.

+1

Skrócona wersja: # Importuj klucze z innego komputera: gpg --export $ {ID}> public.key gpg - klucz tajnego klucza $ {ID}> private.key # skopiuj te pliki na inną maszynę i tam gpg --import public.key gpg --import private.key # od https://unix.stackexchange.com/questions/184947/how-to-import-secret-gpg-key-copied-from -one-machine-to-in –

+1

Powyższe jest dokładnie tym, czego próbowałem i co doprowadziło mnie do komunikatu o błędzie, który OP opublikował. – aioobe

+0

@aioobe Prawidłowy klucz (tajny) nie może się dostać do innych gpg ani zostać przez nie zauważony. Czy masz na myśli wypróbowanie poleceń YaroslavNikitenko? Nie testowałem ich, ale * wyglądają * dobrze, o ile "$ ID" ma rację. Spróbowałbym zamiast tego '--output', ale nie powinno to mieć znaczenia. Wyeksportowanie tajnego klucza, a następnie zaimportowanie go * powinno * działać, czy pojawia się w '--list-keys' (-k lub -K)? Albo skopiowanie całego pliku (ów) kluczy, a następnie użycie '--keyring' zdecydowanie powinno ... Mam problem z tym, że gpg-agent nie odczytuje hasła przed nawet za pomocą' --passphrase-file', lub zastąpienia '--quiet '&' --batch' z niektórymi '-v''s – Xen2050

13

Właśnie natknąłem się na ten problem, na CLI gpg w Arch Linux. Musiałem zabić istniejący proces "gpg-agent", a następnie wszystko wróciło do normy (nowy gpg-agent został uruchomiony automatycznie; ...).

+1

To był dokładnie mój problem i naprawiłem - od pewnego czasu używam gpg bez agenta, najwyraźniej jest on teraz domyślnie włączony? Być może w Ubuntu 17.04, które teraz (przypadkowo) działam. :-) Sądzę, że nadal jest w błędzie. – moodboom

+3

Ten sam problem i naprawa dla mnie na macOS. Poprzednie odkodowanie poszło jakoś niepotrzebnie, co w jakiś sposób spowodowało powyższe błędy. – SamHH

+1

Niesamowite !!! Naprawiono również moje problemy, dziękuję – timothyclifford