कुछ समय पहले मैंने देखा कि मेरे 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)
क्या इस व्यवहार के लिए समझदारी का कोई रास्ता है? मुझे लगता है कि वास्तव में दो प्रश्न हैं:
रिबूट के दौरान भी कुंजी कैसे बनाए रखी जाती है? मेरा मूल ज्ञान
ssh
बताता है कि चाबियों को हमेशा हाथ से जोड़ना पड़ता है।ssh-agent -D
पहचान मिटाने के बारे में मुझसे झूठ क्यों बोलता है?