एकाधिक हरोकू खाते


92

अपने कंप्यूटर पर कई हरोकू खातों के साथ काम करते समय मुझे परेशानी हो रही है।

बात यह है कि यह हॉकू मणि के साथ खातों को बदलकर पहले काम किया है। लेकिन अब (भले ही मैंने नई एसएसएच कुंजी उत्पन्न की है) यह काम नहीं करेगा।

जब मैं ऐसा करता हूं तो git push heroku masterयह कहता है:

my@email.com my_app_name तक पहुंचने के लिए अधिकृत नहीं है

क्या किसी को कोई सलाह है कि मैं इसे कैसे हल कर सकता हूं?


ssh yourid @ सर्वर -v क्या देता है?
एडम डिमिट्रुक 21

"अनुमति से इनकार (publickey)?"
एरिक

ओह, एक नोट ... ई-मेल "my@email.com" हर्को खाता ई-मेल के समान ई-मेल नहीं है ... इसलिए लगता है कि समस्या का कारण किसी तरह का मिश्रण है।
एरिक

अपने git / .ssh / diectory के तहत दोनों निजी और सार्वजनिक कुंजी कॉपी करें। ये मेरे लिए सही है!
दिमित्री अल्गाज़िन

जवाबों:


162

आपको यह सुनिश्चित करने की आवश्यकता है कि आप सही ssh कुंजी का उपयोग कर रहे हैं।

ऐसा करने का तरीका (और जिस तरह से हरोकू अकाउंट प्लगइन आपको संकेत देता है) वह है ~ ~ / ssh / config में आपके ssh कॉन्फिगर में एक सेक्शन जोड़ने का। उदाहरण के लिए, अपने काम के लिए हरोकू खाते में मेरे पास यह ssh config है:

Host heroku.work
  HostName heroku.com
  IdentityFile ~/.ssh/id_heroku_work_rsa
  IdentitiesOnly yes

अब, और यह महत्वपूर्ण है, आपको यह सुनिश्चित करने की आवश्यकता है कि आपके git रिमोट को उसी नामित होस्ट का उपयोग करने के लिए सेट किया गया है । इस मामले में यह heroku.work है । आम तौर पर यह heroku.com होगा यदि आप केवल एक खाते के साथ हरोकू का उपयोग कर रहे थे।

इसलिए आपको गिट रिमोट को एडिट करना होगा (आप इसे .git/configअपने मशीन पर अपने रेपो की फाइल में कर सकते हैं )। जैसे दिखने के लिए फ़ाइल बदलें:

 [remote "heroku"]
   url = git@heroku.work:<appname>.git

नोट करें। काम करते हैं , नहीं। com , और अपने ऐप के नाम के साथ <appname> को प्रतिस्थापित करें (aka your repo name) heroku पर।


1
Thx, वही हुआ जिसकी मुझे जरूरत थी जब मैंने heroku के डैशबोर्ड से अपना प्रोडक्ट ऐप बनाया था।
Bachet

1
git@heroku.work ... हालांकि एक समापन बिंदु के रूप में मौजूद नहीं है। मैं कैसे करूं कि धक्का देने के लिए समापन बिंदु? - आह, आपको हरको-अकाउंट्स प्लगइन की आवश्यकता है।
jmstone617

1
@jmstone .ssh/configइसे बनाने के लिए परिवर्तन heroku.workकरता है, जो कि heroku.com
bantic

हां यह मेरे अंत में एक और मुद्दा था, यह समझ में आ गया। धन्यवाद!
jmstone617

मैंने इस पृष्ठ को बुकमार्क कर लिया है। कभी भी मुझे हरोकू पर जोर देने के मुद्दे आते हैं, मैं इस जवाब को पढ़ता हूं और महसूस करता हूं कि मुझे क्या करने की जरूरत है।
22

36

मैंने इसे हरको-अकाउंट्स प्लगइन का उपयोग करके हल किया

निर्देशों के लिए यहां देखें

http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/


इस उपकरण के साथ सबसे बड़ी समस्या यह है कि यह बिना लाइसेंस वाली एसएसएच कुंजी उत्पन्न करता है।
वोल्फ्राम अर्नोल्ड 2

चाबी स्वयं बनाएं और वह समस्या दूर हो जाए। यह प्लग इस के लिए एकदम सही है!
क्रिस हफ

8

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

यह इस तरह काम करता है (git का उपयोग करके):

  1. प्रोजेक्ट का मालिक प्रोजेक्ट के लिए हरकू के कंसोल पर जाता है
  2. स्वामी सहयोगी का ईमेल पता जोड़ता है (वह जो सहयोगी के पंजीकरण के लिए उपयोग किया गया था)
  3. सहयोगी अपने खाते में अपनी सार्वजनिक सुरक्षा कुंजी सेट करता है (यदि वह पहले से नहीं था)
  4. सहयोगी दूसरे प्रोजेक्ट को दूसरे रिमोट के रूप में जोड़ता और स्थापित करता है

और वह सब लोगों को होना चाहिए; आपको बस दूसरे ऐप पर तैनाती करते समय दूसरे रिमोट पर पुश करना होगा।


धन्यवाद!!! मैंने घंटों यह जानने की कोशिश की। यहां तक ​​कि एसओ और अन्य साइटों पर सभी अलग-अलग तरीकों की कोशिश कर रहे हैं। हरोकू पर दोनों परियोजनाओं के लिए एक ही ईमेल जोड़ना निश्चित रूप से सबसे आसान समाधान है।
बी सेवन

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

6

मैं हॉकू-अकाउंट्स प्लगइन को फिर से जोड़ दूंगा ... यह उदाहरण मानता है कि आपके पहले से मौजूद हरोकू अकाउंट heroku.work होगा और आप एक नया अकाउंट heroku.personal जोड़ रहे हैं।

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

  1. आपको शायद अपने पुराने और अपने नए खातों को बनाने के लिए प्लगइन का उपयोग करने की आवश्यकता है, उदाहरण के लिए, यदि आपके पास एक के साथ शुरू करने के लिए एक नया heroku.personal नहीं जोड़ सकता है, तो आपको अपने पुराने को बदलने के लिए heroku.work बनाने की आवश्यकता है
  2. आपको अपने पुराने ऐप्स को अपने heroku.work पर फिर से असाइन करना होगा
  3. आप कर रहे हैं आगे बढ़ किसी एप्लिकेशन, heroku.personal (उपयोग करने के लिए एप्लिकेशन असाइन नहीं करते heroku accounts:set personal), जब तक के बाद आप अनुप्रयोग का उपयोग करके स्थानांतरित Heroku sharingके रूप में वर्णित commmand https://devcenter.heroku.com/articles/transferring-apps

तो आपके लिए आवश्यक कदम हैं:

  1. हरको-खाता प्लगइन स्थापित करें
  2. Heroku.com पर जाएं और अपनी नई अकाउन्ट बनाएं (यदि आपके पास पहले से दूसरा अकाउन्ट नहीं है)
  3. heroku accounts:add work --autoअपने पुराने डिफ़ॉल्ट खाते को बदलने के लिए एक नया heroku.work खाता बनाने के लिए चलाएं (इसलिए उसी क्रेडेंशियल्स का उपयोग करें जिसे आप सभी के साथ उपयोग कर रहे हैं)। आपको अपनी नई कुंजी को हरोको पर अपलोड करने की आवश्यकता है:heroku keys:add ~/.ssh/identity.heroku.work.pub
  4. चलाने के heroku accounts:add personal --auto(जैसे अपने नए Heroku खाते के लिए अपने नए क्रेडेंशियल्स का उपयोग) एक नई heroku.personal खाता बनाने के लिए। आपको अपनी नई कुंजी हर्को पर अपलोड करने की आवश्यकता है:heroku keys:add ~/.ssh/identity.heroku.personal.pub
  5. प्रत्येक ऐप के लिए, cd को प्रोजेक्ट रूट करें, फिर चलाएं heroku accounts:set work(यह सब आपके heroku.work का उपयोग करने के लिए सेटअप git करता है, जो कि (इस उदाहरण को अनइन करें) वही हरोकू खाता जिसे आप सभी के साथ उपयोग कर रहे हैं, केवल अब इसे हरोकू कहा जाता है। काम।
  6. यदि आप heroku.personal, (a) के साथ heroku.work से एक ऐप को स्थानांतरित करना चाहते हैं, तो ( heroku sharing:add <new owner email>b) अपने स्थानीय निर्देशिका में सहयोगी (b) के साथ नए हेरोकू खाते को जोड़ें , एप्लिकेशन को heroku.personal heroku accounts:set personal(c) स्थानांतरण का उपयोग करके स्विच करें । पुराने खाते से नए खाते में heroku sharing:transfer <new owner email>तब (डी) का उपयोग करके एप्लिकेशन को पुराने ईमेल पता सहयोगी (यदि आप चाहते हैं) का उपयोग करके हटा देंheroku sharing:remove <old owner email>

** ध्यान दें कि मैंने जो लिंक दिया है वह कहता है कि किसी भी भुगतान किए गए संसाधनों के साथ ऐप को स्थानांतरित करने के लिए विशेष आवश्यकताएं हैं। आम तौर पर, भुगतान किए गए resoures को हटा दें, फिर बाद में उन्हें वापस जोड़ें, या समर्थन करें।


6

हरोकू प्लगइन https://github.com/ddollar/heroku-accounts को हटा दिया गया है। हरोकू अब https://github.com/heroku/heroku-accounts पर अपनी खुद की बनाए रखता है । दुर्भाग्य से यह प्रोजेक्ट-दर-प्रोजेक्ट को स्टोर करने के लिए नहीं लगता है, जो इसे उपयोग करने के लिए होना चाहिए ताकि आपको इसे चलाने की आवश्यकता हो

$ heroku accounts:set account_name

हर बार जब आप हरोकू कमांड लाइन टूल का उपयोग करना चाहते हैं।

बैश शेल तक पहुंच वाले लोगों के लिए त्वरित समाधान: एक स्थानीय बिन निर्देशिका बनाएं (यह पहले से ही रेल अनुप्रयोगों में है) और वहां बिन / फ़ोकस बनाएं। सामग्री:

#!/bin/bash
/usr/bin/heroku accounts:set account_name
/usr/bin/heroku $*

(उपयुक्त के रूप में "project_name" को बदलें) फिर चलाएं

$ चामोद + x बिन / हरोकू

फिर आप दौड़ सकते हैं

$ बिन / हिरोकू रन कंसोल

और यह स्वचालित रूप से आपके लिए सही हरोकू खाते का उपयोग करेगा। बेहतर अभी भी जोड़ने के लिए है। अपने मार्ग के लिए।

$ हरोकू रन कंसोल


2

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


इस एक को अपवोट करें, खासकर यदि आपके पास दोनों खातों के लिए पासवर्ड है
portforwardpodcast

1

Git और Heroku कंसोल दोनों के साथ काम करने के लिए इसे प्राप्त करने के लिए, मुझे bantic द्वारा निर्देश के अनुसार ssh कॉन्फिगर बनाना था, लेकिन मुझे अपने .git config में दो रीमोट भी बनाने थे।

[remote "origin"]
  url = git@heroku.work:pacific-rock-4904.git
  fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "heroku"]
  url = git@heroku.com:pacific-rock-4904.git
    fetch = +refs/heads/*:refs/remotes/heroku/*

1
और फिर धक्का किस बात का? उसे या मूल?
jmstone617

1

यह मुझे कुछ समय के लिए परेशान कर रहा है, और मुझे कभी भी ऐसा समाधान नहीं मिला जो मुझे पसंद आया हो। अंत में एक मिला।

(ओएस एक्स विशिष्ट जवाब।)

आप बस नए उपयोगकर्ता बना सकते हैं। सिस्टम प्राथमिकताएं -> उपयोगकर्ता और समूह -> उपयोगकर्ता या समूह बटन जोड़ें पर जाएं। आप अलग-अलग हर्को खाते के लिए कुछ उपयोगकर्ता बना सकते हैं, मैंने सिर्फ मेरा यूजर 1, यूजर 2, आदि का नाम दिया है।

फिर सिस्टम प्राथमिकताएं -> साझाकरण -> दूरस्थ लॉगिन -> के लिए उपयोग की अनुमति दें: सभी उपयोगकर्ता

इस बिंदु पर, आप एक टर्मिनल पर जा सकते हैं और निम्नलिखित कार्य कर सकते हैं:

$ ssh user1@localhost

तब आप इस तरह की चीजें कर सकते हैं:

$ heroku login
$ heroku keys:add

यह सही लगता है, लेकिन क्या अलग-अलग ssh उपयोगकर्ताओं को एक ही फ़ोल्डर और फ़ाइलों तक पहुँच देना संभव है?
फेलो स्ट्रेंजर

1

मैंने noku .it / config का उपयोग किया और उसके बाद दूरदराज के "heroku" के url की जगह heroku.com> apps> सेटिंग्स> config vars> Heroku Git URL से पता चला


0

मेरी भी यही समस्या है।

यह उत्तर नहीं है, लेकिन एक अस्थायी समाधान है कि आप जिस एप्लिकेशन तक नहीं पहुंच सकते हैं, उसके सहयोगी के रूप में अपने "मानक" हर्को ईमेल को जोड़ें।


क्षमा करें, मैं इस पर चलना भूल गया, लेकिन मेरे कंप्यूटर को पुनरारंभ करने से समस्या हल हो गई। आपका समाधान नहीं हो सकता।
एरिक

हाँ, मैंने उस जगह के बारे में पढ़ा। हालांकि यह मेरे लिए काम नहीं किया।
kbjerring

0

मैं win7 का उपयोग कर रहा हूँ

1) win7 में एक और उपयोगकर्ता खाता बनाएँ और उसमें लॉग इन करें

2) गेट बैश खोलें और अपने नए हरोकू खाते में प्रवेश करें

3) नई RSA कुंजी बनाएं और अपलोड करें (यहां निर्देश: https://devcenter.heroku.com/articles/keys )

4) फिर आप जो चाहते हैं वह करें (नया ऐप बनाएं, फ़ाइल को इसमें पुश करें .....)

5) हर बार जब आपको अपने मूल हर्को खाते के साथ काम करने की आवश्यकता होती है, तो बस अपने मूल जीत उपयोगकर्ता खाते में प्रवेश करें और हरोकू के साथ काम करें


मैं इसकी अनुशंसा नहीं करूंगा - स्थानीय पीसी खातों को स्विच करने के बाद जब बेहतर समाधान नीचे हो तो ओवरकिल हो जाए।
रफी जैकब

यह वैसे भी एक विकल्प है
mehdok

0

नए ईमेल के लिए नई सार्वजनिक / निजी कुंजी बनाएं

1) ssh-keygen -t rsa -C "mvjohn@klairvoynat.com"

2) कुंजी (/home/.shsh/seckey) को बचाने के लिए नया फ़ाइल नाम प्रदान करें

3) फिर ssh-agent में अपनी नई कुंजी जोड़ें: - ssh-add ~ / .ssh / seckey

4) उसके बाद अपनी नई कीको को जोड़े: - हरोकू कीज: ~ / .ssh / seckey जोड़ें

5) SSH config फाइल को ~ / .ssh / config और कंटेंट में निम्नानुसार जोड़ें

Hostoku.com पर होस्ट करें।

Hostoku.com की मेजबानी करें hostname heroku.com पोर्ट 22 आइडेंटिटीली यस आइडेंटिटीफाइल ~ / .ssh / id_rsa उपयोगकर्ता mvjohn@hotmail.com

6) या तो कोड का उपयोग करके क्लोन करें

a) git क्लोन क्लोन git@heroku.com: your-application.git b) हेरोकू git: क्लोन -a आपका-एप्लिकेशन


0

हरोकू-अकाउंट प्लगइन स्थापित करें और इसे कॉन्फ़िगर करें !!

स्थापना

 heroku plugins:install heroku-accounts

प्रयोग

खाते जोड़ने के लिए:

$ heroku accounts:add personal
  Enter your Heroku credentials.
  Email: david@heroku.com
  Password: ******

खातों को सूचीबद्ध करने के लिए:

$ heroku accounts
  * personal
    work

एक अलग खाते में जाने के लिए:

heroku accounts:set personal

चालू खाता खोजने के लिए:

$ heroku accounts:current
  personal

खाता हटाने के लिए:

$ heroku accounts:remove personal
  Account removed: personal

अपने काम करने वाले हरोकू खाते में सेट करें और परिवर्तनों को आगे बढ़ाएं।


-1

सही ईमेल सेट करके, उस प्रोजेक्ट के लिए अपना कॉन्फिगर एडिट करें। उस भंडार की जड़ से,git config user.email <heroku email>


लगता है मुझे कोई डर नहीं है ...
Erik

जब आप उस कमांड में "--global" ध्वज जोड़ते हैं तो क्या होगा? कभी-कभी हरोकू रत्न पढ़ रहा था कि मेरे लिए प्रोजेक्ट के रेपो ईमेल के बजाय।
दिनु
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.