ssh कीज़ ssh- एजेंट बैश और ssh-add


28

मैं ssh चाबियाँ करने के लिए नया हूँ। क्या कोई समझा सकता है कि कैसे ssh-agent bashऔर ssh-addकाम करता है?

मुझे भविष्य में इसके इंटर्न को समझने की जरूरत है।


क्या आपने इनमें से किसी भी पद के लिए शीर्ष Google हिट की कोशिश की है?
डैनियल बेक

हाँ, मैंने किया। मुझे कोई उपयोगी जानकारी नहीं मिली। मेरा बुरा
maneeshshetty

जवाबों:


44

एक एजेंट एक प्रोग्राम है जो आपकी कुंजी को स्मृति में रखता है ताकि आपको हर बार के बजाय केवल एक बार उन्हें अनलॉक करने की आवश्यकता हो । SSH कुंजियों के लिए ssh-agent ऐसा करता है।

Ssh- एजेंट शुरू करने के लिए सामान्य तरीके हैं:

  • eval `ssh-agent`- यह एजेंट को पृष्ठभूमि में चलाता है, और वर्तमान शेल उदाहरण के लिए उपयुक्त वातावरण चर सेट करता है ।

    ( ssh- एजेंट , जब बिना किसी तर्क के शुरू किया जाता है, तो आउटपुट आपके शेल द्वारा व्याख्या किए जाने की आज्ञा देता है।)

  • exec ssh-agent bash- खोल की एक नई आवृत्ति शुरू करता bashहै, वर्तमान की जगह।

    (एक या अधिक तर्कों के साथ, ssh- एजेंट कुछ भी आउटपुट नहीं करता है, लेकिन निर्दिष्ट कमांड शुरू करता है: इस मामले में, bashशेल, लेकिन तकनीकी रूप से यह कुछ भी हो सकता है।)

    दूसरी विधि कभी-कभी पसंद की जाती है, क्योंकि जब आप टर्मिनल विंडो को बंद करते हैं तो यह स्वचालित रूप से ssh-Agent को मार देता है। (इसके साथ शुरू करने पर eval, एजेंट चालू रहेगा, लेकिन दुर्गम होगा।)

हालांकि, यह केवल एक खाली एजेंट शुरू करता है। वास्तव में इसे उपयोगी बनाने के लिए, आपको ssh-add का उपयोग करने की आवश्यकता है , जो आपकी चाबियाँ (आमतौर पर ~/.ssh/id_*) को अनलॉक करता है और उन्हें एजेंट में लोड करता है, जिससे उन्हें ssh या sftp कनेक्शन तक पहुंच प्राप्त होती है ।


3
क्या एक बार कई bash सत्रों में ssh-agent शुरू करने का एक तरीका है?
असीम

9

इसके अतिरिक्त, आप सत्र प्रारंभ में कुछ कुंजियाँ जोड़ना चाहते हैं।

अपनी ~/.bashrcफ़ाइल संपादित करें , और जोड़ें:

ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null  # start ssh-agent if not present
[ $? -eq 0 ] && {                                     # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null        # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null        # Load key 2
}

के साथ अपनी चाबियाँ जांचें ssh-add -l

आप वर्तमान ssh- एजेंट सत्र को रोक सकते हैं ssh-agent -k

Ssh-Agent और .bashrc के बारे में कुछ जानना बहुत अधिक कुंजी लोड नहीं है। Ssh डेमॉन के लिए प्रयासों की डिफ़ॉल्ट संख्या 6 तक सीमित है । /etc/ssh/sshd_configइसे MaxAuthTriesमूल्य के साथ संशोधित किया जा सकता है ।


1
ssh-add"और" के साथ लॉन्च करते समय निजी कुंजी पासवर्ड के बारे में क्या ? क्या आप मान रहे हैं कि निजी कुंजी फाइलें असुरक्षित हैं?
लुसियानो

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