2008-09-17 23 views
44

एसएसएच डिफ़ॉल्ट रूप से ~/.ssh फ़ोल्डर में अपनी कुंजी की तलाश करेगा। मैं इसे हमेशा किसी अन्य स्थान पर देखने के लिए मजबूर करना चाहता हूं।डिफ़ॉल्ट एसएसएच कुंजी स्थान

वैकल्पिक हल मैं उपयोग कर रहा हूँ एजेंट को अमानक स्थान से चाबी को जोड़ने के लिए है:

ssh-agent 
ssh-add /path/to/where/keys/really/are/id_rsa 

(विंडोज पर लिनक्स और MingW32 खोल पर)

+0

बीटीडब्ल्यू, कारण मैं ऐसा करना चाहता था ताकि मैं अपनी चाबियाँ ड्रॉपबॉक्स में रख सकूं .. एक इलाज करता है! – tardate

+3

आप सिम्लिंक में फेंक सकते हैं? –

+7

@tardate, hmm, आपकी चाबियों के साथ भरोसेमंद ड्रॉपबॉक्स खतरनाक लगता है, जब तक कि आप उन्हें अच्छी तरह से पासवर्ड-सुरक्षित न करें ... – gatoatigrado

उत्तर

71

आप केवल आप पहचान की फ़ाइल के लिए एक अलग स्थान को इंगित करने के लिए देख रहे हैं, तो आप निम्न लिखित प्रविष्टि के साथ अपने ~/.ssh/config फ़ाइल को संशोधित कर सकते हैं:

IdentityFile ~/.foo/identity 

man ssh_config अन्य को खोजने के लिए विन्यास विकल्प।

+3

ध्यान दें कि आप एकाधिक कुंजी के लिए इस पैरामीटर को कई बार सूचीबद्ध कर सकते हैं। हालांकि, बहुत सी कुंजी सूचीबद्ध करना (आमतौर पर> 4) सिस्टम पर पासवर्ड के लिए संकेत देने से पहले ऑथ विफल हो सकता है जहां आपकी कुंजी वैध नहीं है। एसएसएच-एजेंट, या कीचेन (http://www.gentoo.org/proj/en/keychain/) यहां सहायक हैं। – jmanning2k

+0

यदि आपके पास एसएसएच कुंजी के लिए पासवर्ड सुरक्षित है, तो आप बेहतर ढंग से 'निजी-कुंजी' जोड़ सकते हैं, अन्यथा, यह हमेशा कुंजी के पासवर्ड के लिए पूछता है –

+0

मुझे कॉन्फ़िगरेशन की शुरुआत में उस पंक्ति को जोड़ना था। अंत में इसे जोड़ना काम नहीं किया। – SebK

14

man ssh मुझे इस विकल्प देता है उपयोगी हो सकता है।

मैं identity_file जहाँ से पहचान (निजी कुंजी) आर एस ए या DSA प्रमाणीकरण के लिए पढ़ने के लिए है एक फ़ाइल को चुनता है। प्रोटोकॉल संस्करण 1 के लिए डिफ़ॉल्ट/~ .ssh/पहचान है, और ~/.ssh/id_rsa और ~/.ssh/id_dsa प्रो - टोकोल संस्करण 2 के लिए पहचान। पहचान फ़ाइलों को प्रति -होस्ट आधार पर भी निर्दिष्ट किया जा सकता है विन्यास फाइल में। एकाधिक -i विकल्प (और कॉन्फ़िगरेशन- अवधि फ़ाइलों में निर्दिष्ट एकाधिक पहचान) संभव है।

तो तुम

उर्फ ​​ssh की तरह कुछ = "ssh मैं/path// private_key करने के लिए"

मैंने देखा नहीं किया है के साथ अपने बैश config में एक उपनाम बना सकते हैं एक ssh विन्यास फाइल में है, लेकिन -i विकल्प की तरह यह भी एलियास किया जा सकता है

एफ configfile वैकल्पिक प्रति-उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करता है। यदि कमांड लाइन पर एक con- मूर्तिकला फ़ाइल दी जाती है, तो सिस्टम-व्यापी कॉन्फ़िगरेशन फ़ाइल (/ etc/ssh/ssh_config) को अनदेखा कर दिया जाएगा। प्रति-उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइल के लिए डिफ़ॉल्ट ~/.ssh/config है।

-5

फ़ाइल का स्थान "अधिकृत_की" नाम से /root/.ssh निर्देशिका है, आमतौर पर यह सुरक्षा कारणों से छिपा हुआ है। * यदि आप पुटीटी और कमांड लाइन का उपयोग करते हैं, तो इसका उपयोग करें: #cd ~/.ssh और फिर "अधिकृत_की" फ़ाइल को vi संपादक के साथ संपादित करें। यह भी देखें, टाइप करें #man ssh_config अधिक विकल्प प्रदान करेगा (यदि आवश्यक हो) आशा है कि इससे मदद मिलती है।

+0

यह प्रश्न का उत्तर नहीं प्रदान करता है। किसी लेखक से स्पष्टीकरण की आलोचना करने या अनुरोध करने के लिए, अपनी पोस्ट के नीचे एक टिप्पणी छोड़ दें - आप हमेशा अपनी पोस्ट पर टिप्पणी कर सकते हैं, और एक बार आपके पास पर्याप्त [प्रतिष्ठा] (http://stackoverflow.com/help/whats-reputation) हो [किसी भी पोस्ट पर टिप्पणी करने में सक्षम] [http://stackoverflow.com/help/privileges/comment)। – Kenster

+0

@ केनस्टर: यह किस तरह से उत्तर नहीं है? –

+1

@LightnessRacesinOrbit प्रश्न एसएसएच क्लाइंट को किसी अन्य स्थान से कुंजी पढ़ने के बारे में है। इस जवाब में कुछ भी इसके लिए उत्तरदायी नहीं है। _authorized_keys_ को _server_ द्वारा पढ़ा जाता है, क्लाइंट नहीं, और उस फ़ाइल में कोई बदलाव नहीं किया जा सकता है जो _client_ को अपनी चाबियों के लिए कहां बदलता है। यहां तक ​​कि अगर उस फ़ाइल को संपादित करने का कोई अच्छा कारण था, तो जवाब यह नहीं कहता कि इसे क्यों संपादित करना है या क्या परिवर्तन करना है। मुझे पता है कि यह तय करते समय हमें उदार होना चाहिए कि कुछ जवाब नहीं है या नहीं। लेकिन यह "उत्तर" सबसे अच्छा एसएसएच से संबंधित सामान्य पाठ का अनुच्छेद है। – Kenster

संबंधित मुद्दे