मैंने @ हारून के समाधान की कोशिश की और यह मेरे लिए बहुत काम नहीं आया, क्योंकि यह हर बार जब मैं अपने टर्मिनल में एक नया टैब खोलता था, तो यह मेरी चाबी को फिर से जोड़ देता था। इसलिए मैंने इसे थोड़ा संशोधित किया (ध्यान दें कि मेरी अधिकांश कुंजियाँ पासवर्ड से सुरक्षित हैं, इसलिए मैं सिर्फ आउटपुट को / dev / dull पर नहीं भेज सकता):
added_keys=`ssh-add -l`
if [ ! $(echo $added_keys | grep -o -e my_key) ]; then
ssh-add "$HOME/.ssh/my_key"
fi
यह क्या करता है कि यह ssh-add -lएक विशिष्ट कुंजी के लिए (जो सभी कुंजियों को सूचीबद्ध करता है) के आउटपुट की जांच करता है और यदि यह नहीं मिलता है, तो इसे इसके साथ जोड़ता है ssh-add।
अब पहली बार जब मैंने अपना टर्मिनल खोला तो मुझसे मेरी निजी चाबियों के पासवर्ड मांगे गए हैं और जब तक मैं अपने कंप्यूटर को रिबूट (या लॉगआउट - मैंने जाँच नहीं किया है) तब तक दोबारा नहीं पूछा जाता।
चूँकि मेरे पास कुंजियों का एक गुच्छा है, मैं ssh-add -lप्रदर्शन को बेहतर बनाने के लिए चर के आउटपुट को संग्रहीत करता हूं (कम से कम मुझे लगता है कि इससे प्रदर्शन में सुधार होता है :))
पुनश्च: मैं linux पर हूँ और यह कोड मेरी ~/.bashrcफाइल पर गया है - यदि आप Mac OS X पर हैं, तो मुझे लगता है कि आपको इसे जोड़ना चाहिए .zshrcया.profile
संपादित करें: जैसा कि टिप्पणियों में @Aaron द्वारा बताया गया है, .zshrcफ़ाइल zshशेल से उपयोग की जाती है - इसलिए यदि आप इसका उपयोग नहीं कर रहे हैं (यदि आपको यकीन नहीं है, तो सबसे अधिक संभावना है, आप bashइसके बजाय उपयोग कर रहे हैं ), इस कोड को चाहिए अपनी .bashrcफ़ाइल पर जाएं।