Git, her zaman bir imza kullanarak imzalarken gizli anahtarın kilidini açmak için bir parola girmemi ister. BenGit işlemini imzalarken GnuPG parolasının sorulmasını engelle
cevap
Git GnuPG parola ele geçmez taahhüt imzalanması sırasında bunu her zaman girmek zorunda kalmamak için
git commit -S -m 'message'
nasıl önbellekte şifresini saklayabilirsiniz. Kolayca (Windows'ta AppData
klasörde bir yerlerde gizli) ~/.gnupg/gpg-agent.conf
düzenleyerek ayarlanır gpg-agent
yoluyla olur önbelleğe alma passphrases ait GnuPG'yi yeteneklerine güvenmek zorundadır.
parolası GnuPG'nin her çağırma sonra önbelleğe saniye sayısı olarak ayarlayın default-cache-ttl
. maximum-cache-ttl
, parolanın silineceği başlangıçta parola girildikten sonraki süreyi ayarlar. ignore-cache-for-signing
'un ayarlanmadığından emin olun - aksi halde GnuPG, imzalama işlemleri için önbelleği yoksayar.
Herhangi bir kullanıcı etkileşimi olmadan işlem imzalamak istiyorsanız, önbelleği gpg-preset-passphrase
aracılığıyla önceden doldurabilirsiniz, çoğu zaman /usr/lib/gnupg2/gpg-preset-passphrase
; veya rasgele bir şifre çözme veya imzalama işlemi gerçekleştirerek. Git öğesinin --passphrase [your passphrase]
gibi bir seçeneği gpg
'a geçirilecek şekilde yapılandırmasına izin verebilir, ancak bu yaklaşımın kısıtlamalarını ve güvenlik etkilerini okuyun (parolanızın bir yere düz metin olarak kaydedilmesini içerir). Eğer gerçekten istediğiniz veya her işlemek imzalamak gerekmiyorsa
'~/.gnupg/gpg-agent.conf' içermiyor, bunun yerine' ~/.gnupg/gpg.conf' var, 'default-cache-ttl' ayarını yapmak tamam mı? – pokemon
Hayır, bu seçenekler 'gpg-agent.conf' için açık bir şekilde belirtilmiştir. "Gpg-agent" kurulu mu ('' gpg-agent' bir girişi listelemeli '' var mı? Aksi takdirde, sadece yeni bir dosya oluşturun ve bu seçenekleri ayarlayın. –
Evet, gpg-agent'ım yüklü, fakat ne gpg-agent.conf dosyasında ne de gpg.conf dosyasında çalışmıyor. Bu arada, Ubuntu gnome 16.04 kullanıyorum, bu yöntemin üzerinde çalıştığından emin misiniz? – pokemon
, sen çalıştırarak varsayılan olarak imzalanması kapatabilirsiniz:
git config --global commit.gpgsign false
sonra bir taahhüt imzalamak istiyorsanız, kullanarak bunu yapabilirsiniz -S bayrağı. Bunun gibi ..
git commit -S -m your commit message
Sadece hayatımı kolaylaştırdım!
ve bunun OP'nin sorduğu sorulara cevap verebileceğini düşünüyor musunuz? –
Bu, soruya bir cevap vermemektedir. Yeterli [itibara] sahip olduğunuz zaman (https://stackoverflow.com/help/whats-reputation) herhangi bir gönderiye yorum yapabilirsiniz (https://stackoverflow.com/help/privileges/comment); bunun yerine, [askerden açıklama istemeyen cevaplar verin] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-yerine). - [Yorum yazıla] (/ review/düşük kaliteli yazılar/17806364) –
Sen 'gpg-agent' kurmak ve şifrenizi önbelleğe' max-cache-ttl' ile birlikte 'default-cache-ttl' seçeneği yapılandırabilirsiniz. – miqid
Git'i kullanarak bunu yapmanın bir yolunu arıyorum. Git şifre önbellekleme gibi. – pokemon