सवाल एक उपयोगकर्ता के लिए एकाधिक सार्वजनिक कुंजी


यह सवाल समान है एसएसएच सार्वजनिक कुंजी प्रमाणीकरण - क्या एकाधिक उपयोगकर्ताओं के लिए एक सार्वजनिक कुंजी का उपयोग किया जा सकता है? लेकिन यह चारों ओर एक और तरीका है।

मैं एसएसएच का उपयोग करने पर प्रयोग कर रहा हूं इसलिए कोई भी एसएसएच सर्वर आपके उत्तरों के लिए काम करेगा।

क्या मेरे पास एक ही उपयोगकर्ता के लिए कई सार्वजनिक कुंजी लिंक हो सकते हैं? ऐसा करने के क्या फायदे हैं? साथ ही, अलग-अलग होम निर्देशिकाओं को अलग-अलग कुंजियों के लिए सेट किया जा सकता है (जिसमें से सभी एक ही उपयोगकर्ता से लिंक हैं)?

अगर मैं अस्पष्ट हूं तो कृपया मुझे बताएं।

धन्यवाद।


47
2018-01-12 21:19


मूल




जवाब:


आप जितनी चाहें उतनी चाबी रख सकते हैं। वैसे भी विभिन्न क्षेत्रों के लिए अलग-अलग निजी / सार्वजनिक कुंजी सेटों का उपयोग करना अच्छा अभ्यास है, जैसे आपके व्यक्तिगत उपयोग के लिए एक सेट, आपके काम के लिए एक आदि।

सबसे पहले, दो अलग-अलग कीपर्स उत्पन्न करें, एक घर के लिए और एक काम के लिए:

ssh-keygen -t rsa -f ~/.ssh/id_rsa.home
ssh-keygen -t rsa -f ~/.ssh/id_rsa.work

इसके बाद, अपनी प्रविष्टि जोड़ें ~/.ssh/config आपके द्वारा कनेक्ट किए जाने वाले सर्वर के आधार पर उपयोग करने के लिए कुंजी चुनने के लिए फ़ाइल:

Host home
Hostname home.example.com
IdentityFile ~/.ssh/id_rsa.home
User <your home acct>

Host work
Hostname work.example.com
IdentityFile ~/.ssh/id_rsa.work
User <your work acct>

इसके बाद, अपनी सामग्री संलग्न करें id_rsa.work.pub में ~/.ssh/authorized_keys कार्य मशीन पर, और अपनी होम मशीन पर होम कुंजी के लिए भी ऐसा ही करें।

फिर जब आप होम सर्वर से कनेक्ट होते हैं तो आप चाबियों में से एक का उपयोग करते हैं, और जिस वर्क सर्वर का आप दूसरे का उपयोग करते हैं।

ध्यान दें कि आप शायद दोनों कुंजी जोड़ना चाहते हैं ssh-agent इसलिए आपको हर समय अपना पासफ्रेज टाइप नहीं करना पड़ेगा।


72
2018-01-12 21:37



यह तब भी काम करेगा जब id_rsa.work.pub और id_rsa.home.pub उसी सर्वर पर लगाए गए थे? कारण यह है कि मैं अलग-अलग कंप्यूटरों से किसी सर्वर से कनेक्ट हो रहा हूं, इसलिए मुझे आश्चर्य है कि क्या यह प्रत्येक कंप्यूटर के लिए अलग-अलग कीपर्स रखना समझ में आता है भले ही वे एक ही उपयोगकर्ता के रूप में सर्वर से कनेक्ट हो रहे हों। धन्यवाद। - Russell
पूर्ण रूप से! सर्वर की तरफ, एसएसएच अधिकृत_कीज फ़ाइल में सभी सार्वजनिक कुंजी को तब तक जांच लेगा जब तक कि यह एक मैच न मिले। तो आप सर्वर पर किसी भी अधिकृत_कीएस फ़ाइल में सभी चाबियाँ डाल सकते हैं कोई समस्या नहीं। - Phil Hollenback
@PhilHollenback "ssh अधिकृत_कीज फ़ाइल में सभी सार्वजनिक कुंजियों को तब तक जांच लेगा जब तक कि यह एक मैच न मिल जाए" - आपका मतलब है कि क्लाइंट को प्रत्येक सार्वजनिक कुंजी के लिए चुनौतियों को भेजना जारी रहता है जब तक क्लाइंट साबित नहीं करता कि यह एक को डिक्रिप्ट कर सकता है? क्या आपके पास इसके लिए कोई संदर्भ है? (वास्तव में रुचि रखते हैं) - aaa90210


यह कई उपयोगकर्ताओं की चाबियाँ एक उपयोगकर्ता के पास जाने के लिए बहुत समझ में आता है। आम कारण हैं:

  • बैकअप
  • गिट (उदा। Push URL: git+ssh://git@git-server/~/repos/MyProject)
  • rsync
  • एक ऐप के लिए आम पहुंच

जहां तक ​​विभिन्न homedirs हैं, आप उन्हें प्रति कुंजी द्वारा प्रति कुंजी बदल सकते हैं environment="HOME=/home/user1" user_ की फ़ाइल में user_ की कुंजी के लिए। देख man authorized_keys

इसे आज़माएं, वाईएमएमवी।


4
2018-01-12 21:29