क्या मेरे पास एक ही होस्ट और उपयोगकर्ता के लिए कई SSH कुंजी हो सकती हैं?


4

मेरे पास Bitbucket पर दो खाते हैं और प्रत्येक के लिए एक SSH कुंजी है। ऐसा मेरा है ~/.ssh/config की तरह लगता है:

Host bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account1

Host bitbucket.org
  User git
  IdenfityFile ~/.ssh/bitbucket/account2

समस्या यह है कि एसएसएच एजेंट एक ही समय में एक ही मेजबान के लिए दो कुंजी से निपटने में असमर्थ प्रतीत होता है और मुझे उनमें से एक को निकालना होगा ताकि दूसरे का उपयोग कर सकें।

क्या आसपास कोई काम है?

जवाबों:


8

इसके द्वारा, बिटबकेट में वाइल्डकार्ड डीएनएस प्रविष्टि की जगह है; कोई भी यादृच्छिक उपडोमेन ( *.bitbucket.org ) के रूप में एक ही सर्वर (ओं) को हल करेगा bitbucket.org

$ host bitbucket.org
bitbucket.org has address 207.223.240.182
bitbucket.org has address 207.223.240.181
$ host random.bitbucket.org
bitbucket.org has address 207.223.240.182
bitbucket.org has address 207.223.240.181
$ host clearlynotasubdomain.bitbucket.org
bitbucket.org has address 207.223.240.182
bitbucket.org has address 207.223.240.181

इस वजह से, आप विभिन्न प्रविष्टियों को अपने में सेट कर सकते हैं ~/.ssh/config विभिन्न होस्टनामों के साथ:

Host project1.bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account1

Host project2.bitbucket.org
 User git
 IdenfityFile ~/.ssh/bitbucket/account2

वास्तव में, मैं एक अनुमान लगाता हूं कि इस सटीक उद्देश्य के लिए Bitbucket के पास वाइल्डकार्ड अवस्थापना है।


7

आप दो अलग-अलग SSH उपनाम बना सकते हैं, अर्थात

Host bitbucket1
  Hostname bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account1

Host bitbucket2
  Hostname bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account2

जब तक आपके IdentityFile के डिफ़ॉल्ट वाले नहीं हैं (देखें) यहाँ मेरा सवाल है ), फिर आप इन उपनामों का उपयोग कर सकते हैं कि किस खाते से जुड़ना है।


वर्षा के उत्तर की तुलना में यह एक बेहतर, अधिक सामान्य ssh- देशी अनुकूल समाधान है। बिटबकेट के डीएनएस को कैसे कॉन्फ़िगर किया जाता है, इसके कारण ही बारिश का जवाब काम करता है। ध्यान दें कि बुजुर्ग के उत्तर के साथ, आप बस टाइप करते हैं ssh bitbucket1 या ssh bitbucket2 संपर्क करना। अपने में Hostname सेटिंग .ssh/config आपके लिए hostname हैंडल करता है।
Doug Harris

@DougHarris मैं सहमत हूँ; मैं इस सुविधा से अनजान था।
Rain

तो, तुम कोशिश करो ssh bitbucket1, और अगर यह विफल रहता है, तो आप इसे फिर से कोशिश करते हैं? या फिर तुरंत प्रयास करें ssh bitbucket2 यह देखने के लिए कि क्या जोड़ता है? यह उत्तर ऐसा लगता है कि यह @Rain द्वारा उत्तर की तुलना में अधिक समस्याएँ / अस्पष्टताएँ हैं।
killermist

@ किरमिलिस्ट: नहीं, आप उपयोग करें ssh bitbucket1 खाता 1 से कनेक्ट करने के लिए (और खाता 2 के लिए इसके विपरीत)। Bitbucket आपके खाते को SSH कुंजी से निर्धारित करता है जिसे आप कनेक्ट करने के लिए उपयोग करते हैं। बात यह है कि रेखा Host X एक मेजबान निर्धारित करता है उपनाम , जिसे वास्तविक होस्टनाम होने की आवश्यकता नहीं है; द्वारा निर्दिष्ट किया गया है Hostname प्रवेश के भीतर।
Jaap Eldering
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.