क्या मेरे .ssh फ़ोल्डर में एकाधिक ssh कुंजियाँ हो सकती हैं?


30

क्या मैं एकाधिक ssh कुंजियाँ बना सकता हूँ, और उन्हें उपयोगकर्ता के अनुकूल नामों में बदल सकता हूँ, इसलिए मुझे पता है कि कौन सी कुंजी किस वेबसाइट आदि के लिए है।

क्या यह सुरक्षित है?

उदाहरण के लिए:

github_id_rsa
github_id_rsa.pub
..
...

यह कैसे पता चलेगा कि कनेक्ट करते समय किस कुंजी के खिलाफ जांच करना है?

मेरे कंप्यूटर पर अब, जब मैं ज्ञात_होस्ट्स को देखता हूं, तो वे सभी होस्ट के नाम के बाद एक ही कुंजी लगते हैं ??



इसके अलावा, ज्ञात होस्ट कुंजी निश्चित रूप से समान नहीं हैं, बस प्रत्येक होस्ट के लिए लाइनों के सिरों को देखें।
11'11

जवाबों:


15

हाँ आपके पास अलग ssh कीज़ हो सकती हैं। GitHub Help साइट पर Help.GitHub - Multiple SSH Keys पर बहुत अच्छे प्रलेखन हैं । अनिवार्य रूप से आप अतिरिक्त कुंजियों को जोड़ने के लिए ssh-add का उपयोग कर रहे होंगे ताकि एजेंट उनका उपयोग कर सके। तब आप ssh होस्ट कॉन्फिगर सेट करते हैं, ताकि विभिन्न डोमेन के लिए किसी भी ssh कनेक्शन को यहाँ देखा जाएगा और उपयुक्त कुंजी का उपयोग किया जाएगा। सौभाग्य!


1
लिंक अब काम नहीं करता है
danwellman


44

आप विभिन्न सर्वरों के लिए अलग पहचान फ़ाइल का उपयोग करने के लिए फ़ाइल ~ / .ssh / config को संशोधित कर सकते हैं। अपने पसंदीदा संपादक में ~ / .ssh / config संपादित करें और ऐसी प्रविष्टि जोड़ें जो आपकी स्थिति के लिए उपयुक्त हो:

Host *
IdentityFile ~/.ssh/id_rsa

Host *.github.*
IdentityFile ~/.ssh/github_id.rsa

Host *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

ऊपर दिया गया पहला भाग सभी मेजबानों के लिए डिफॉल्ट सेट करता है और दूसरे सेक्शन ओवरराइड करता है जो पैटर्न से मेल खाने वाले प्रत्येक होस्ट के लिए उपयोग किया जाना चाहिए। यदि आपके पास प्रत्येक होस्ट के लिए एक अलग उपयोगकर्ता नाम है, तो आप उपयोगकर्ता नाम के बाद रिमोट पर अनुभाग में उपयोगकर्ता कुंजी जोड़ सकते हैं ।


3
यह इस सवाल का सबसे उपयोगी जवाब है कि गंतव्य की परवाह किए बिना कि क्या GitHub या अन्य साइटें।
पियरे

यदि आपके पास कई बिटकॉइन खाते हैं और दुर्भाग्य से प्रत्येक के लिए अलग-अलग कुंजी रखने की आवश्यकता नहीं है तो यह काम नहीं करता है।
जॉन लिटिल

chmod 400 ~/.ssh/id_rsaया chmod 400 ~/.ssh/foo_id.rsaआवश्यक हो सकता है।
T.Woody

@JohnLittle मेरे जवाब पर एक नज़र डालें जो एक ही डोमेन के लिए बहु-उपयोगकर्ता खाते को हल करता है।
सथिशकुमार राक्यसामी

4

आप किसी भी उपयोगकर्ता खाते वाले किसी भी साइट के लिए कई ssh कुंजी सेट कर सकते हैं

नीचे उदाहरण मैं GitHub.com के लिए अपने विकास में उपयोग किया जाता है

फ़ाइल उदाहरण कॉन्फ़िगर करें

#Personal account
 Host github.com-<personal-account-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_personal
 IdentitiesOnly yes



#Organization account
 Host github.com-<organization-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_work
 IdentitiesOnly yes

नया मूल जोड़ने के समय

व्यक्तिगत खाते के लिए

git remote add origin git@github.com-<personal-account-name>:<personal-account-name>/<repo-name>.git

संगठन खाते के लिए

git remote add origin git@github.com-<organization-name>:<organization-name>/<repo-name>.git

आशा करता हूँ की ये काम करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.