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 <hays.kelly@gmail.com>
sub   2048R/0DF57DA8 2012-11-05

Saya sedikit bingung bagaimana memperbaiki ini, ada ide?

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


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

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


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.