Git -u के साथ gpg- एजेंट का उपयोग करते समय, मुझे तुरंत निम्न त्रुटि मिल रही है:
gpg: cancelled by user
gpg: skipped "my@email.com": bad passphrase
gpg: signing failed: bad passphrase
error: gpg failed to sign the data
error: unable to sign the tag
GPG-agent.conf:
pinentry-program /usr/bin/pinentry-curses
जब मैं पहले (के माध्यम से gpg -e -s test.txt
) कुंजी को अनलॉक करता हूं , तो git tag -u
कमांड कुंजी को उठाता है और उम्मीद के मुताबिक टैग पर हस्ताक्षर करता है।
यह i3 wm का उपयोग करके ubuntu 13.10 पर है। मुझे संदेह होगा कि गनोम-कीरिंग किसी तरह से बाधा डाल रहे हैं ... कुछ, लेकिन एक रास्पबेरी पाई पर, आर्चलिनक्स-आर्म को चलाना, यह उसी तरह से काम करता है, लेकिन थोड़े अलग मुद्दे के साथ - git tag -u
कमांड चलाने के बाद , यह पूछता है अनलॉक करने के लिए एक पासवर्ड, लेकिन कोई पेंट्री या प्रांप्ट दिखाई नहीं देता है। एक समय (लगभग 30 सेकंड) के बाद, यह निम्नलिखित के साथ विफल हो जाता है:
gpg: problem with the agent: Line passed to IPC too long
gpg: skipped "my@email.com": Operation cancelled
gpg: signing failed: Operation cancelled
error: gpg failed to sign the data
error: unable to sign the tag
दोबारा, एक बार जब मैं gpg -s
gpg- एजेंट में क्रेडेंशियल्स को कैश करने के लिए एक सीधे एक मनमानी फ़ाइल के साथ कुंजी को अनलॉक करता हूं , तो टैग को मुद्दे के साथ हस्ताक्षरित किया जाता है।
मेरी धारणा यह है कि कुछ मेरे पेंट्री-शापों की शुरुआत के साथ अजीब है। मैं / usr / bin / pinentry को इंगित करने के लिए / usr / bin / pinentry पहले ही अपडेट कर चुका हूं, लेकिन समस्या बनी रहती है।
मैं क्या गलत कर रहा हूँ, और मुझे gpg / pinentry के साथ अच्छा खेलने के लिए कैसे काम करना है?
- ubuntu gpg संस्करण: 1.4.14
- आर्कलिनक्स-आर्म gpg संस्करण: gnupg-2.0.22-1
संपादित करें: zsh चल रहा है। यहाँ gpg एजेंट के लिए प्रासंगिक बिट दिया गया है:
if [ $EUID -ne 0 ] ; then
envfile="$HOME/.gnupg/gpg-agent.env"
if [[ -e "$envfile" ]] && kill -0 $(grep GPG_AGENT_INFO "$envfile" | cut -d: -f 2) 2>/dev/null; then
eval "$(cat "$envfile")"
else
eval "$(gpg-agent --daemon --write-env-file "$envfile")"
fi
export GPG_AGENT_INFO # the env file does not contain the export statement
fi
जब मैं $ ( /dev/pts/16
ट्टी) का पालन करता हूं (उदाहरण के लिए:) तो पहले से ही साझेदारी है user:tty
।
/dev/pts
पहले से ही सही ढंग से सेट हैं। चाउने को जोड़ने से समस्या हल नहीं हुई। आपके स्निपेट और मेरे बीच का एकमात्र अंतर यह है कि मैं अपने gpg एजेंट को ssh के लिए सक्षम नहीं कर रहा हूँ। मैं यह नहीं देख सकता था कि फर्क करने से क्या ऐसा होगा?