pass ve gpg: Ortak anahtar yok


13

Ben kullanıyorum geçmek oldukça uzun bir süre için; ancak anahtar depolama ve gpg anahtarlarımı başka bir makineye aktardıktan sonra şu çıktıyı görüyorum:

$ 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

Anahtarım içe aktarıldı ve güvenilir, ancak kullanılamıyor:

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

Anahtarımı tekrar kullanmak için ne yapabilirim?

Yanıtlar:


12

pass , anahtarlığını gnupg 1.x ile paylaşmayan gnupg2 kullanır.

Anahtarlarınızı gnupg yerine gnupg2 kullanarak tekrar içe aktarın. Anahtarlarınızı hedef makinede gnupg'de zaten çalıştırdıysanız:

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

İçe aktardıktan sonra, anahtarınızdaki güveni güncellemeniz gerekebilir. Secret key is available.İçe aktarma başarılı olduysa bir mesaj görmelisiniz :

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

Şimdi anahtarınızdaki güveni güncelleyin:

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

pass (en azından sürüm 1.6.3) kullanan gpgdeğildir gpg2. Ve gpg2 sadece bir yeniden tasarım. Sadece 2.1 sürümü ile bazı değişiklikler geldi (genel anahtardaki genel ve özel anahtarları birleştirir.
Anthon

Bu benim versiyonum için geçerli değil (1.6.5). Kaynak kodundan: 10 GPG = "gpg" 11 dışa aktarma GPG_TTY = "$ {GPG_TTY: - $ (tty 2> / dev / null)}" 12 hangi gpg2 &> / dev / null && GPG = "gpg2" 13 [ [-n $ GPG_AGENT_INFO || $ GPG == "gpg2"]] && GPG_OPTS + = ("--batch" "--use-agent") Bu, gpg2 aynı sistemde bulunmadıkça 'pass'ın gpg kullandığını gösterir.
asukasz Lis

1
Bu yüzden gpg2 kurulmadıkça gpg kullanır ve geçiş amaçları uyumludur, aksi takdirde pass kullanmaya başladıktan bir süre sonra gpg2'yi yüklerseniz korkunç sorunlar alırsınız (ki ilk etapta olduğu gibi olmamalısınız) bazen şifrelenmemiş verileri "depolama" dizininizde bırakır).
Anthon

İlk olarak, ilk cevabınızda tartıştığınız bu değil. İkincisi, bir anahtarlık paylaşmamaları konusunda benim yanıtımı vermediniz. Üçüncü olarak, her ikisi de iletilerin şifresini ki sadece uyumlu olmadığını uygun bir gizli anahtar verilir.
Łukasz Lis

7

Çıktı hattı

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

yanlış passbaşlatma olduğunu gösterir . Komutla başlattınız pass, komutla pass init 2048R/FA829B53yapmalısınız pass init FA829B53. Sorunu çözmek için dosyanın içeriğini değiştirmek gerekir ~/.password-store/.gpg-iddan 2048R/FA829B53için FA829B53ve değişiklikleri uygulayın.

PS

Tüm @ asukasz Lis tavsiyeleri doğrudur ve siz de tamamlamanız gerekir. Diğer durumda, geçişin şifresini çözemezsiniz:

$ pass -c test

size bir hata verecektir: gpg: decryption failed: No secret key


İşe yarar. (Yanlış) tipine gelebilir pass init SomethigElseThanFirstStore.
Nikos Alexandris

0

Yeni bir mağaza oluştururken bunu fark ettim ve "2048R / FA829B53" gibi bir anahtar kimliği ile başlattım, ki bu geçmişte nasıl yapıldığını düşündüm ve .gpg_id'in eski bir yedeğe bakması farklı.

Ancak, şimdi sadece FA829B53 kullanılmış gibi görünüyor ve mevcut sayfalarda yazar e-posta adresini kullanıyor.

Gpg_id dosyasını kontrol ederdim, taze bir mağazada benim için sadece FA829B53 ve başka satır yok


0

Güvenilir anahtarınızın dosyada aynı olup olmadığını doğrulayın ~/.password-store/.gpg-id


Bu soruya bir cevap sağlamaz. Bir yazardan eleştiri veya açıklama istemek için gönderilerinin altına bir yorum bırakın. - Yorumdan
Kevdog777

gerçekten de aynı problemi yaşadım, bununla
çözdüm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.