gpg- एजेंट ने SSH कुंजी को ssh-add रिपोर्टिंग से मना कर दिया "एजेंट ने ऑपरेशन से इनकार कर दिया"


12

मैं आर्च linux पर Opensh7.5p1 और gnupg 2.1.21 का उपयोग कर रहा हूं (ये आर्क के साथ आने वाले डिफ़ॉल्ट संस्करण हैं)। मैं gpg-agentएक ssh एजेंट के रूप में उपयोग करना चाहूंगा । मैं अपने में निम्नलिखित डाल ~/.gnupg/gpg-agent.conf:

pinentry-program /usr/bin/pinentry-qt
enable-ssh-support

आर्क स्वचालित रूप से सिस्टम से एक gpg- एजेंट शुरू करता है, इसलिए मैंने सेट किया

export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"

जब मैं दौड़ता हूं ssh-add -l, तो यह बिना किसी पहचान के psरिपोर्ट करता है और एक gpg-agent --supervisedप्रक्रिया को रिपोर्ट करता है जैसा कि मैं अपेक्षा करता हूं।

दुर्भाग्य से, जब मैं दौड़ता हूं ssh-add, तो कोई फर्क नहीं पड़ता कि यह किस प्रकार का है, यह काम नहीं करता है। यहाँ एक उदाहरण है कि मैंने कैसे dsa की कोशिश की:

$ ssh-keygen -f testkey -t dsa -N ''
Generating public/private dsa key pair.
Your identification has been saved in testkey.
Your public key has been saved in testkey.pub.
$ ssh-add testkey
Could not add identity "testkey": agent refused operation

अन्य सभी gpg फ़ंक्शन ठीक से काम करते हैं (एन्क्रिप्ट / डिक्रिप्ट / हस्ताक्षर करना)। इसके अलावा, अगर मैं उन्हें सीधे ssh के साथ उपयोग करता हूं, तो मैं ठीक काम करता हूं, और अगर मैं ssh-agentओपनश के साथ आता हूं तो वे ठीक से काम करते हैं ।

प्रलेखन कहता है कि ssh-addकुंजी को जोड़ना चाहिए ~/.gnupg/sshcontrol, लेकिन स्पष्ट रूप से कुछ भी नहीं हो रहा है।

मेरा प्रश्न: अधिभारित के द्वारा उत्पन्न एक महत्वपूर्ण लोड करने के लिए सबसे आसान तरीका क्या है ssh-keygenमें gpg-agent, और कर सकते हैं किसी कटौती को खुश और यह कैसे काम करता है दिखा एक टर्मिनल सत्र पेस्ट करें?


स्वीकृत उत्तर ने मेरी मदद की, इस प्रश्न को उठाने के लिए धन्यवाद। मेरे साथ ऐसा हर बार होता है, क्या इसका कोई स्थायी समाधान है?
gf_

जवाबों:


27

जवाब स्पष्ट रूप से चलाने के लिए था:

echo UPDATESTARTUPTTY | gpg-connect-agent

मुझे कोई अंदाजा नहीं है कि अन्य फ़ाइलों जैसे डिक्रिप्टिंग फ़ाइलों के लिए पेंट्री प्रोग्राम ने ठीक काम क्यों किया, लेकिन इसके लिए काम नहीं किया ssh-add

हालांकि अब यह काम करता है, यह ssh निजी कुंजी की एक प्रति भी बनाता है जो कि नीचे नहीं दिखाता है gpg -Kv, और इसके अलावा आपको अपनी निजी कुंजी पर पासफ़्रेज़ को बदलने की अनुमति नहीं देता है (क्योंकि आप इसे संपादित नहीं कर सकते हैं --edit-key) । मूल रूप से मैं इस बात से बहुत दुखी हूं gpg-agentकि आपके रहस्यों को कॉपी किए जाने के तरीके में कम दृश्यता प्रदान करता है। यदि आप इस सवाल को मारते हैं क्योंकि आपको उम्मीद है gpg-agentकि यह एक बेहतर विकल्प हो सकता है ssh-agent, तो मैं आपको ssh-agentमेरा जवाब आज़माने के बजाय छड़ी करने के लिए प्रोत्साहित करूंगा। पसंद करने का मुख्य कारण gpg-agentअगर आपको स्मार्ट-कार्ड के उपयोग की आवश्यकता है।


आपको यह उत्तर कहां से मिला? यह बहुत अच्छा काम करता है!
CMCDragonkai

इसके लिए धन्यवाद, मेरे लिए काम किया। क्या आप इसे नियमित रूप से चलाते हैं? प्रत्येक बूट / लॉगिन पर? "उचित" फिक्स के बारे में कोई विचार?
gf_


2

मेरे मामले में, समस्या पिंट्री प्रोग्राम का उपयोग किया गया था। मैं pinentry-emacs का उपयोग कर रहा था। ऐसा लगता है कि यह दोहरी टेक्स्ट फ़ील्ड प्रविष्टि विंडो प्रॉम्प्ट को हैंडल नहीं करता है जो कि ssh-addgpg- एजेंट के साथ प्रयोग होने पर ट्रिगर होता है।

पिनेंट्री-एमएसीएस को हटाने और जीटीके पिनेंट्री को स्थापित करने से यहां समस्या हल हो गई।


इसने आखिरकार मेरी समस्या को हल कर दिया, सूत्रों का एक झुंड जो मुझे स्टार्टअप ट्टी को अपडेट करने के लिए कहा था।
विलियम रोसेनब्लूम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.