Ssh- एजेंट से कुंजियाँ नहीं निकाल सकते। यहां तक ​​कि रिबूट करने से भी मदद नहीं मिलती है


18

कुछ समय पहले मैंने देखा कि मेरे ssh-Agent में तीन चाबियां थीं जिन्हें मैं हटा नहीं सकता था। ssh-add -lतीन कुंजी दिखाई; मैं भागा ssh-add -D, और कहा गया "सभी पहचान हटा दी गई हैं।" लेकिन फिर तत्काल एक ssh-add -lही तीन चाबियाँ दिखाया।

यदि मैं लॉग आउट करता हूं और फिर वापस जाता हूं, तो चाबियाँ अभी भी हैं। यदि मैं मशीन को रिबूट करता हूं, तो चाबियाँ अभी भी हैं। अगर मैं कीरिंग निर्देशिका को हटाता हूं /tmp, तो मैं ssh-agentकिसी भी अधिक से कनेक्ट नहीं कर सकता , लेकिन लॉग आउट करने और वापस अंदर जाने पर, कुंजी वापस आ जाती है। वे अजेय हैं।

चाबियाँ मेरी हैं, किसी और की नहीं, जहाँ तक मैं बता सकता हूँ। मैं उनके साथ अपनी सामान्य स्थानीय सेवाओं का उपयोग कर सकता हूं। लेकिन जब मैं एक कुंजी को फिर से जोड़ देता हूं ssh-add, तो एक निजी कुंजी फ़ाइल को पथ देते हुए, नई कुंजी के आउटपुट में एक अलग उपस्थिति होती है ssh-add -l:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)

मूल बनाम:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)

क्या इस व्यवहार के लिए समझदारी का कोई रास्ता है? मुझे लगता है कि वास्तव में दो प्रश्न हैं:

  1. रिबूट के दौरान भी कुंजी कैसे बनाए रखी जाती है? मेरा मूल ज्ञान sshबताता है कि चाबियों को हमेशा हाथ से जोड़ना पड़ता है।

  2. ssh-agent -Dपहचान मिटाने के बारे में मुझसे झूठ क्यों बोलता है?


फेडोरा / रेड हैट बग भी है: Bugzilla.redhat.com/show_bug.cgi?id=1205546
spoovy

जवाबों:


11

ऐसा लग रहा है कि यह एक बग हो सकता है। मैं Ubuntu 10.10 में इसी तरह का व्यवहार कर रहा हूं। Google खोज में डेबियन के लिए एक बग रिपोर्ट मिली: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477

मेरे द्वारा दिखाए गए अतिरिक्त कुंजियों को निकालने के लिए, मैंने उन्हें ~ / .ssh निर्देशिका से बाहर निकाल दिया।


हाँ! यह मेरे लिए काम करता है। धन्यवाद! मैं डेबियन व्हीजी बीटा 4 का उपयोग करता हूं
टार्च

3
अंत में बकायदा जांच की गई। अपराधी सूक्ति-कीरिंग-डेमॉन है, जो क) स्वचालित रूप से सभी कुंजियों को ~ / .ssh में लोड करता है, और b) उन्हें त्यागने से मना कर देता है। समाधान यह है कि सूक्ति-कीरिंग-मैनेजर को कभी भी शुरू करने से रोक दिया जाए, जो कि प्रोग्राम फाइल के निष्पादन की अनुमति को हटाकर अंततः मुश्किल से अजीब था।
शॉन

क्या इसका कोई हल है जो hnbling gnome-keyring-manager को शामिल नहीं करता है ? यानी, सूक्ति-कीरिंग-प्रबंधक को ठीक करना ताकि यह बताई गई कुंजियों को हटा दे?
फिल

1
यह 2018 है और यह अभी भी प्रासंगिक है। चाबियों को ~ / .sh से बाहर ले जाना है
कार्सन आईपी

1
वाह। ~ / .Sh से कुंजियों को निकालें और अन्य निर्देशिका में @CarsonIp के रूप में उल्लिखित करें और फिर अपने bashrc में ssh- एजेंट कमांड का उपयोग करके मैन्युअल रूप से अन्य निर्देशिका से अतिरिक्त ssh कुंजियों को लोड करें। PIMA!
Ligemer

3

आपकी कुंजियों को छिपी निर्देशिका में फ़ाइलों के रूप में संग्रहीत किया जाता है: /home/jruser/.ssh/ यही है कि वे रिबूट के बाद कैसे बने रहते हैं। मेरा अनुमान है कि ssh-add -D उन्हें मेमोरी से डिलीट कर रहा है लेकिन जब आप रिबूट करते हैं तो वे .ssh डाइरेक्टरी से पढ़े जाते हैं और इसलिए आप उन्हें फिर से पढ़ते हैं।


4
लेकिन ssh-add -Dउन्हें स्मृति से नहीं हटा रहा है। इसका कोई असर नहीं हुआ।
शॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.