vượt qua và gpg: Không có khóa công khai


13

Tôi đang sử dụng thẻ trong một thời gian khá dài; nhưng sau khi xuất khóa lưu trữ khóa và khóa gpg của tôi sang máy khác, tôi thấy đầu ra sau:

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

Khóa của tôi được nhập và tin cậy, nhưng không sử dụng được:

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

Tôi có thể làm gì để sử dụng lại chìa khóa của mình?

Câu trả lời:


12

pass sử dụng gnupg2, không chia sẻ khóa của nó với gnupg 1.x.

Nhập lại khóa của bạn bằng gnupg2 thay vì gnupg. Nếu bạn đã có khóa trong gnupg trên máy đích:

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

Sau khi nhập, bạn có thể cần cập nhật niềm tin vào khóa của mình. Bạn sẽ thấy một Secret key is available.thông báo nếu quá trình nhập thành công:

$ 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) <shved@lvk.cs.msu.su>

Bây giờ hãy cập nhật niềm tin vào khóa của bạn:

gpg> trust
[...]
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
[...]
gpg> save

pass (ít nhất là phiên bản 1.6.3) gpgkhông sử dụng gpg2. Và gpg2 chỉ là một thiết kế lại. Chỉ với phiên bản 2.1, một số thay đổi mới xuất hiện (kết hợp khóa công khai và khóa riêng trong khóa công khai.
Anthon

Điều đó không đúng với phiên bản của tôi (1.6.5). Từ mã nguồn: 10 GPG = "gpg" 11 xuất GPG_TTY = "$ {GPG_TTY: - $ (tty 2> / dev / null)}" 12 mà gpg2 &> / dev / null && GPG = "gpg2" 13 [ [-n $ GPG_AGENT_INFO || $ GPG == "gpg2"]] && GPG_OPTS + = ("--batch" "--use-agent") Điều này ngụ ý rằng 'pass' sử dụng gpg trừ khi gpg2 có mặt trên cùng hệ thống.
Łukasz Lis

1
Vì vậy, nó sử dụng gpg trừ khi gpg2 được cài đặt và với mục đích vượt qua những thứ này tương thích, nếu không bạn sẽ gặp phải những vấn đề khủng khiếp nếu bạn tình cờ cài đặt gpg2 một thời gian sau khi bạn bắt đầu sử dụng pass (mà bạn không nên ở nơi đầu tiên vì nó đôi khi để lại dữ liệu không được mã hóa trong thư mục "lưu trữ" của bạn.
Anthon

Đầu tiên, đây không phải là những gì bạn đã tranh luận trong câu trả lời đầu tiên của bạn. Thứ hai, bạn đã không trả lời quan điểm của tôi về việc họ không chia sẻ khóa. Thứ ba, chúng chỉ tương thích ở chỗ cả hai có thể giải mã tin nhắn nếu được cung cấp một khóa bí mật thích hợp.
Łukasz Lis

6

Dòng đầu ra

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

cho thấy một passkhởi tạo sai . Bạn đã khởi tạo passvới lệnh pass init 2048R/FA829B53trong khi bạn nên thực hiện bằng lệnh pass init FA829B53. Để giải quyết vấn đề, bạn nên thay đổi nội dung của tệp ~/.password-store/.gpg-idtừ 2048R/FA829B53thành FA829B53và cam kết thay đổi.

PS

Tất cả lời khuyên @ Łukasz Lis đều đúng và bạn cũng nên hoàn thành chúng. Trong trường hợp khác, bạn sẽ không thể giải mã được pass:

$ pass -c test

sẽ cung cấp cho bạn một lỗi: gpg: decryption failed: No secret key


Hữu ích. Nó có thể xảy ra với loại (mis-) pass init SomethigElseThanFirstStore.
Nikos Alexandris

0

Tôi nhận thấy điều này khi tạo một cửa hàng mới và khởi tạo nó với một id khóa như "2048R / FA829B53" mà tôi nghĩ là cách nó được thực hiện trong quá khứ và nhìn vào một bản sao lưu cũ, .gpg_id thì khác.

Tuy nhiên, bây giờ có vẻ như FA829B53 được sử dụng và trong các trang người dùng hiện tại, tác giả sử dụng địa chỉ email của mình.

Tôi sẽ kiểm tra tệp gpg_id, đối với tôi trong một cửa hàng mới, đó chỉ là FA829B53 và không có dòng nào khác


0

Xác minh xem khóa đáng tin cậy của bạn có giống trong tệp không ~/.password-store/.gpg-id


Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. - Từ đánh giá
Kevdog777

thực sự tôi đã có cùng một vấn đề, tôi giải quyết nó với điều này
m3asmi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.