2011-11-18 16 views
50

मेरे पास 9-5 नौकरी के लिए एक बिटबकेट खाता है और मेरे पास व्यक्तिगत बिटबकेट खाता भी है। मेरा लक्ष्य एक ही कंप्यूटर पर दोनों का उपयोग करने में सक्षम होना है। मैंने विंडोज 7 पीसी पर नवीनतम गिट स्थापित किया है।एकाधिक बिटबकेट खाते

तो वर्तमान में मेरी कंपनियों बिटबकेट खाते के साथ सब कुछ ठीक काम करता है, मैं बिना किसी समस्या के खींच/पुश कर सकता हूं। मैंने एसएसएच-कीजेन का उपयोग करके एक नई एसएसएच कुंजी बनाई और मेरे मामले "तकनीक" में एक नया नाम सौंपा। लेकिन मुझे अपने द्वारा बनाई गई नई एसएसएच कुंजी का उपयोग करने के लिए स्थानीय रिपो को कैसे बताना है, इस पर समस्याएं हैं। मैं मानता हूं कि हर बार जब मैं कनेक्ट करने की कोशिश करता हूं तो यह पहली एसएसएच कुंजी का उपयोग करता है।

$ Git धक्का conq: भंडार पहुँच से मना कर

मैं त्रुटि मिलती है। घातक: दूरस्थ अंत अप्रत्याशित रूप से

मुझे इंटरनेट पर कुछ सलाह मिली लेकिन ऐसा लगता है कि यह एक लिनक्स/गिट सेटअप से संबंधित है, उदाहरण के लिए मुझे विंडोज़ पर "कॉन्फ़िगर" फ़ाइल नहीं मिल रही है।

+0

[एकाधिक गिटहब खाते और एसएसएच कॉन्फ़िगरेशन] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/3225862/multiple-github-accounts-ssh-config) – MrTux

उत्तर

40

यदि आप कुंजी प्रबंधक (एसएसएच-एजेंट) की कुंजी नहीं जोड़ते हैं तो आपको यह त्रुटि मिल सकती है। ऐसा करने के लिए: यदि आप कई Bitbucket खाते हैं BTW

ssh-add ~/.ssh/tech 

, आप प्रत्येक खाते के लिए एक अद्वितीय कुंजी की आवश्यकता होगी। IOW, आप कुंजी का पुन: उपयोग नहीं कर सकते हैं।

+4

यह मेरी समस्या को ठीक करता है, बिटबकेट बैठने के दस्तावेज़ से चरण गुम है। धन्यवाद। – ams

0

आपको केवल एक बार सार्वजनिक/निजी कुंजी जोड़ी उत्पन्न करनी चाहिए। फिर यदि आप निजी कुंजी प्रदान करते हैं तो सभी मेजबानों की आपकी सार्वजनिक कुंजी आपके से कनेक्शन की अनुमति देती है।

+2

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

+0

@ जोनक्रोवेल अजीब लगता है। मैंने बिटबकेट का उपयोग नहीं किया है, लेकिन जिथब कई रिपो को एक कुंजी असाइन करने की अनुमति देता है। कई चाबियाँ अलग-अलग उपकरणों के लिए समझ में आती हैं। जैसे लैपटॉप के लिए एक, डेस्कटॉप के लिए दूसरा। यदि आपका लैपटॉप चोरी हो गया है, तो आप इसकी कुंजी को निरस्त कर सकते हैं लेकिन डेस्कटॉप का उपयोग करना जारी रख सकते हैं। – kan

+1

मुझे नहीं लगता कि यह स्वीकार्य उत्तर होना चाहिए क्योंकि बिट्टबकेट तक पहुंचने की आवश्यकता है। – Andrew

0

जैसा कि कहा गया है, आपको केवल एक बार अपनी पब्बी उत्पन्न करने की आवश्यकता है - चूंकि आप पहले से ही बिटबकेट के साथ सेटअप कर चुके हैं, तो आपका id_rsa (या जो भी आपने अपना नाम दिया है) फ़ाइल है? हमारे विंडोज़ इंस्टॉलेशन पर, यह छिपे हुए फ़ोल्डर .ssh में उपयोगकर्ता की होम निर्देशिका के अंतर्गत है। आपको वहां config फ़ाइल बनाने में सक्षम होना चाहिए।

75

This blog post एक कंप्यूटर पर एकाधिक एसएसएच कुंजी जोड़ने के लिए एक सीधा कुंजी का वर्णन करता है और बिटबकेट खाते के प्रति एक एसएसएच कुंजी का उपयोग करता है। यह official bitbucket documentation से बहुत स्पष्ट है। संक्षेप में:

सबसे पहले, सुनिश्चित करें कि आपके पास this one on Github जैसे ट्यूटोरियल के माध्यम से एक डिफ़ॉल्ट खाता सेटअप है।

दूसरे खाते के लिए: सार्वजनिक कुंजी कॉपी और (अपने bitbucket खाते में इस कुंजी जोड़ने सेटिंग्स क्षेत्र में करने के लिए

ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>" 
  • उपयोग pbcopy < ~/.ssh/<your second account name>.pub:

    1. नया ssh कुंजी बनाएं)

    (विंडोज़ पर आपका उपयोग करके एसएसएच कुंजी की प्रतिलिपि बना सकते हैं 23,210 या Linux you can follow these instructions.

    पर
    1. अपने ~/.ssh/config फ़ाइल में निम्न जोड़ें। पहले bitbucket.org के लिए डिफ़ॉल्ट कुंजी सेट करता है। दूसरा बिटबकेट के लिए आपकी दूसरी कुंजी को उपनाम bitbucket-account2 पर सेट करता है।org:

      Host bitbucket.org 
          Hostname bitbucket.org 
          IdentityFile ~/.ssh/id_rsa 
      
      Host bitbucket-account2 
          Hostname bitbucket.org 
          PreferredAuthentications publickey 
          IdentityFile ~/.ssh/<your second account name> 
      
    2. अब आप अपने डिफ़ॉल्ट के साथ परियोजनाओं को क्लोन कर सकते हैं खाता पहले की तरह ही:

      git clone [email protected]:username/project.git 
      
    3. दूसरी पहचान के साथ एक परियोजना को क्लोन करने के लिए, होस्ट के साथ bitbucket.org की जगह है कि

      git clone [email protected]:username/project.git 
      
    : आप ~/.ssh/config फ़ाइल (यानी ऊपर bitbucket-account2) में निर्दिष्ट 210

    यही वह है!

  • +0

    यह पूरी तरह से काम किया। धन्यवाद! ssh-ऐड ~/.ssh/<कुंजी फ़ाइल का नाम> –

    +0

    बढ़िया विकल्प मैं निम्न आदेश का उपयोग कर ssh कुंजी जोड़ने के लिए किया था तेंदुए के बाद से) आपको ssh-add का उपयोग कर एजेंट को कुंजी जोड़ने की भी आवश्यकता होगी। मैंने यह कदम किए बिना पाया, एसएसएच अभी भी एलियाज्ड डोमेन के लिए मानक id_rsa का उपयोग कर रहा था, और यहां तक ​​कि दूसरी पहचान के लिए स्पष्ट रूप से पथ के लिए ssh -i पैरामीटर का उपयोग करते समय भी। बहुत ज्यादा उलझन! ssh-add तुरंत इसे ठीक कर दिया। –

    +2

    प्रबंधन करने के लिए –

    0

    आप अपने व्यक्तिगत bitbucket खाते में अपनी कंपनी के ईमेल में जोड़ सकते हैं bitbucket खाते में प्रबंधित पेज:

    enter image description here

    आप अपने व्यक्तिगत ईमेल खाते के लिए लॉग इन कर सकते हैं, और एकल bitbucket में पहुँच दोनों निजी परियोजनाओं और कंपनी की परियोजनाओं खाता, जो केवल एक एसएसएच निजी कुंजी का उपयोग कर रहा है।

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