Özel Anahtarlara Erişildiğinde GPG Kilitleniyor


17

Gitimi PGP anahtarımla imzalamayı seviyorum, bu yüzden gittiğimde oldukça endişeliydim git commit -Sama PGP anahtarı parolamı sormak yerine git asmaya başladı. Birkaç aydır GPG kurulumumda bir değişiklik yapmadım ve o zamandan beri sorun olmadan çok fazla taahhütte bulundum. Ayrıca, özel anahtarlarımı ile görüntülemeye çalıştığımda gpg -Kgpg kilitleniyor. Ancak, gpg -kortak anahtarlarımı görüntülemek için çalıştırdığımda , liste normal gibi döner. Umarım birisi bu soruna neyin neden olduğu ve nasıl düzeltileceği hakkında bir fikir sahibi olacaktır.


bunu ssh üzerinde mi yapıyorsun? öyleyse, gpg-agentuzak sistemin .bashrc'sinde (vb.) veya benzer bir kurulumunuz var mı ve uzaktan kumandanın X ekranında veya benzeri istemde bulunacak şekilde yapılandırılmış mı? i (örn gpg gerektiren çalışma için yaptığı teklifi masaüstü makinesine benim mythtv kutuyu bir terminal bir konsoldan ing. Ayrıca benzer sorunlar vardı geçmişte benzer sorunlar yaşadım ssh-agent) ve i kaba kuvvet saldırılarını it "sabit" ile export GPG_TTY=$(tty)de .bashrc, istemin her zaman geçerli tty'de olduğundan emin olmak için. Ben yine de GUI passwd istemleri dayanamıyorum.
cas

1
Hayır, SSH üzerinden yapmıyorum. Garip olan şey, eğer gpg-agent'ı öldürürsem, gpg'nin tekrar çalıştığını gördüm. Nedenini anlamaya ve uzun vadeli bir çözüm yapmaya çalışıyorum.
John Leuenhagen

gpg-agentMan sayfasında, GPG_TTY'yi yukarıdaki gibi ayarlamanın çalışmak için hacklendiğim bir şey olmadığını fark ettim, gerekli. Man sayfası, her zaman yaptığım gibi .bashrc'nizde ayarlamanız gerektiğini söylüyor ve ayrıca It is important that this environment variable always reflects the output of the tty command.- bu, nereden aldığım olmalı. Dikkat etmeniz gereken diğer bir şey de gpg-agent tarafından kullanılan pinentry programıdır. Ben mayın (in ~/.gnupg/gpg-agent.conf) için ayarladım/usr/bin/pinentry-curses
cas

Yanıtlar:


22

Bu tam sorunla karşılaştım (OSX Sierra 10.12.6, gpg / GnuPG 2.2.5)

Asılacak komutlar:

gpg -K # --list-secret-keys
gpg -d # --decrypt
gpg --edit-key
gpgconf --kill gpg-agent

Benim çözümüm John tarafından yukarıda anlatılanla aynıydı (ör. Gpg-agent'ı öldürmek) nasıl-can-i-restart-gpg-agent'ın da diğer yöntemlerle asılacağı gibi.

# Solution    
pkill -9 gpg-agent

Sonra git taahhüt imzalamak için tty env yukarıda cas tarafından belirtildiği gibi ve aynı zamanda gpg-başarısız-imza-taahhüt-nesne de ayarlayın .

export GPG_TTY=$(tty)

Yani her yeniden başlattığınızda gpg'yi tekrar öldürmek zorunda mısınız? Uzun zamandır yapmak zorunda olduğum şey bu. Umarım bunu düzeltmek için bir yol buluruz.
John Leuenhagen

Sorunu kendim almaya başladım. Öldürmek, gpg-agentonu tekrar çalıştırmanın tek yolu gibi görünüyor.
Alexis Tyler
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.