Saya mencoba menambahkan kata sandi ke pengelola kata sandi “pass”. Tetapi usaha saya gagal dengan kesalahan GPG "tanpa kunci publik". Mengapa?

27

Saya mencoba untuk menginstal Lulus: manajer kata sandi Unix standar , namun, ketika saya mencoba menambahkan kata sandi ke aplikasi saya mendapatkan kesalahan ini

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

Kunci Publik GPG?

Ketika saya mengetikkan perintah gpg --list-keyssaya mendapatkan:

/home/khays/.gnupg/pubring.gpg
------------------------------
pub   2048R/64290B2D 2012-11-05
uid                  Kelly Hays <[email protected]>
sub   2048R/0DF57DA8 2012-11-05

Saya sedikit bingung bagaimana memperbaiki ini, ada ide?

Kelly Hays
sumber

Jawaban:

28

Bagaimana Anda membuat penyimpanan kata sandi? pass init "Kelly's Passwords"? Jika demikian, ini salah, Anda seharusnya menelepon pass init 64290B2D.

Dan jika kemudian pass insert fooakan gagal dengan:

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

maka Anda harus percaya kunci Anda sendiri pertama ( gpg --edit-key 64290B2D, trust, 5, save).

zhenech
sumber
Saya hanya akan menambahkan bagi mereka yang satu langkah di belakang seperti saya, Anda harus init kunci gpg pertama dengangpg --generate-key
ItayB
2
@ItayB perintah untuk menghasilkan kunci gpg sebenarnya gpg --gen-key(dalam gpg 1.4.20)
Rubanov
Dalam satu kasus, menggunakan gpg(versi 1.4.20) di bawah Xubuntu, selalu mengarah ke kegagalan (menghasilkan kata sandi melalui pass). Menggunakan gpg2(versi 2.1.11) membuat semuanya berfungsi dengan baik.
Nikos Alexandris
'Kunci', misalnya 64290B2D, adalah apa pun yang Anda gunakan untuk mengidentifikasi kunci, dalam kasus saya menjadi alamat email, diungkapkan sebagai uid dengangpg -k
John Mee
5

Dengan indikasi yang sama, jika ada yang menemukan masalah ini, solusinya mungkin sedikit berbeda. Anda passmenggunakan gpg2alih-alih gpg, Anda mungkin telah digunakan untuk menghasilkan / mengelola kunci Anda (atau, sebaliknya). Verifikasi dengan:

bash -x $(which pass) insert foo
Michal Ingeli
sumber
2
WTF !? Mengapa gpg dan gpg2 diinstal pada sistem yang baru? Mengapa halaman manual pass atau situs webnya tidak peduli bagaimana cara membuat kunci gpg! @ # &% Sialan ???
Tobia
2
Jika seseorang telah membuat dengan GPG 1 - Anda dapat mengimpornya ke GPG 2 seperti ini:gpg2 --import ~/.gnupg/secring.gpg
maxschlepzig
2

Saya mendapat kesalahan yang sama untuk sementara, menjalankan bash di debug membantu. (bash -x), saya kemudian menyadari bahwa pass telah mencantumkan gpg-key yang tidak ada di .password-store / .gpg-id

Antoine Claval
sumber
1

Saya mendapat kesalahan yang sama, tetapi memeriksa dengan gpg2 --list-keysmemberi saya

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

Jadi solusi saya adalah

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

Lihat /unix//a/177310/14315

Jika Anda harus memperbarui subkunci, gunakan ini:

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

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

Torsten
sumber