कोशिश करें ssh-add, आपको ssh-agentअपनी निजी कुंजी चलाने और धारण करने की आवश्यकता है
(ठीक है, अद्यतन किए गए प्रश्न का उत्तर देते हुए, आप पहली बार ssh-keygenसार्वजनिक और निजी कुंजी बनाने के लिए दौड़ते हैं जैसा कि Jefromi ने समझाया है । आपने सार्वजनिक कुंजी सर्वर पर रखी है। आपको पासफ़्रेज़ का उपयोग करना चाहिए, यदि आपके पास सादे के बराबर नहीं है। अपनी निजी कुंजी में पासवर्ड डालें। लेकिन जब आप करते हैं, तो आपको ssh-agentनीचे बताए अनुसार व्यावहारिक मामले की आवश्यकता होती है ।)
आप ssh-agentलॉग इन करते हुए बैकग्राउंड में चलना चाहते हैं । एक बार जब आप लॉग इन करते हैं, तो आइडिया ssh-addएक बार और केवल एक बार ही चलना है , ताकि एजेंट को अपना पासफ़्रेज़ दिया जा सके, ताकि आपकी कुंजी को डिकोड किया जा सके। एजेंट तो बस अपनी चाबी के साथ स्मृति में बैठता है और लोड होता है, हर बार जब आप कहीं भी उपयोग करने के लिए तैयार होते हैं।
सभी ssh-family कमांड्स 1 तब एजेंट से परामर्श करेंगे और स्वचालित रूप से आपकी निजी कुंजी का उपयोग करने में सक्षम होंगे।
OSX (इरेट ( macOS ), GNOME और KDE सिस्टम पर, ssh-agentआमतौर पर आपके लिए स्वचालित रूप से लॉन्च किया जाता है। मैं मामले में विवरण के माध्यम से जाऊंगा, मेरी तरह, आपके पास भी एक साइगविन या अन्य विंडोज़ वातावरण है जहां यह सबसे निश्चित रूप से आपके लिए नहीं किया गया है।
यहां से शुरू करें: man ssh-agent।
एजेंट को स्वचालित रूप से चलाने के लिए विभिन्न तरीके हैं। जैसा कि मैन पेज बताता है, आप इसे चला सकते हैं ताकि यह आपके सभी लॉगिन सत्र की अन्य प्रक्रियाओं का एक अभिभावक हो। इस तरह, यह जो पर्यावरण चर प्रदान करता है, वह स्वचालित रूप से आपके सभी गोले में होगा। जब आप (बाद में) आह्वान करते हैं ssh-addया sshदोनों के पास एजेंट की पहुंच होगी, क्योंकि वे सभी जादू सॉकेट पाथनाम या जो भी हो, के साथ पर्यावरण चर हैं।
वैकल्पिक रूप से, आप एजेंट को एक साधारण बच्चे के रूप में चला सकते हैं, एक फाइल में पर्यावरण सेटिंग्स को बचा सकते हैं, और एक स्रोत है जो हर शेल में तब शुरू होता है।
मेरा OSX और उबंटू सिस्टम स्वचालित रूप से एजेंट लॉन्च सेटअप करते हैं, इसलिए मुझे केवल ssh-addएक बार चलना होगा । दौड़ने की कोशिश करें ssh-addऔर देखें कि क्या यह काम करता है, यदि ऐसा है, तो आपको बस एक बार रिबूट करने की आवश्यकता है।
मेरे Cygwin प्रणाली यह मैन्युअल रूप से किया, इसलिए मैं अपने में ऐसा किया जरूरत .profileऔर मैं .bashrcस्रोत .profile:
. .agent > /dev/null
ps -p $SSH_AGENT_PID | grep ssh-agent > /dev/null || {
ssh-agent > .agent
. .agent > /dev/null
}
.agentफ़ाइल स्क्रिप्ट के द्वारा स्वचालित रूप से बनाया जाता है; इसमें पर्यावरण चर परिभाषाएँ और निर्यात शामिल हैं। उपरोक्त .agent फ़ाइल को स्रोत करने का प्रयास करता है, और फिर ps(1)एजेंट को आज़माता है । यदि यह काम नहीं करता है तो यह एक एजेंट शुरू करता है और एक नई एजेंट फ़ाइल बनाता है। आप बस चला भी सकते हैं ssh-addऔर अगर यह विफल रहता है तो एजेंट शुरू करें।
1. और यहां तक sudoकि सही पैम एक्सटेंशन के साथ स्थानीय और दूरस्थ ।