web-dev-qa-db-ja.com

複数のherokuアカウント

コンピューターで複数のHerokuアカウントを操作するときに問題が発生します。

問題は、heroku gemを使用してアカウントを切り替えることで、以前はうまく機能していたことです。しかし、今では(新しいSSHキーを生成しましたが)動作しません。

git Push heroku masterそれはただ言う:

[email protected]はmy_app_nameへのアクセスを許可されていません

誰が私がこれを解決することができるかについて何かアドバイスがありますか?

91
Erik

正しいsshキーを使用していることを確認する必要があります。

これを行う方法(およびherokuアカウントプラグインがプロンプトを表示する方法)は、〜/ .ssh/configのssh構成ファイルにセクションを追加することです。たとえば、仕事のherokuアカウントでは、ssh configにこれがあります。

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

さて、これは重要です。gitremoteが同じ名前のHostを使用するように設定されていることを確認する必要があります。この場合、それはheroku.workです。通常、1つのアカウントのみでherokuを使用している場合、heroku.comになります。

そのため、git remoteを編集する必要があります(.git/configマシン上のリポジトリのファイル)。ファイルを次のように変更します。

 [remote "heroku"]
   url = [email protected]:<appname>.git

Heroku .workではなくheroku .comに注意し、<appname>をherokuのアプリの名前(別名レポ名)に置き換えます。

162
bantic

Heroku-accountsプラグインを使用してこれを解決しました

手順についてはこちらをご覧ください

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

35
Louis Gillies

自分が所有していないプロジェクトの協力者として受け入れられる必要があります。

これは次のように動作します(gitを使用):

  1. プロジェクトの所有者は、プロジェクトのherokuのコンソールに移動します
  2. 所有者は、コラボレーター(コラボレーターの登録に使用されたもの)のメールアドレスを追加します
  3. 共同編集者は自分のアカウントに公開セキュリティキーを設定します(まだ設定していない場合)
  4. 共同編集者は、他のプロジェクトを別のリモートとして追加および設定します

そして、それはすべての人々であるべきです。他のアプリにデプロイするときに、もう一方のリモコンをプッシュするだけです。

7
Bastes

heroku-accounts plugin ...にいくつか追加します。この例では、既存のherokuアカウントがheroku.workであり、新しいアカウントheroku.personalを追加することを想定しています。

また、たとえば、最大25アプリに達し、新しいアカウントを作成していて、サイドプロジェクトや実験的なアプリの一部をメインアカウントから移動する場合など、アプリを一方から他方に移動する方法についても説明します。

  1. プラグインを使用して、古いアカウントと新しいアカウントの両方を作成する必要があります。たとえば、新しいheroku.personalを追加するだけで開始できない場合は、heroku.workを作成して古いアカウントを置き換える必要があります。
  2. 古いアプリをheroku.workに再割り当てする必要があります。
  3. movingアプリの場合、after heroku sharingコマンドを使用してアプリを転送するまで、アプリをheroku.personalに割り当てないでください(heroku accounts:set personalを使用)説明どおり https://devcenter.heroku.com/articles/transferring-apps

したがって、おそらく必要な手順は次のとおりです。

  1. Heroku-accountプラグインをインストールする
  2. Heroku.comにアクセスして、新しいアカウントを作成します(2番目のアカウントがまだない場合)
  3. heroku accounts:add work --autoを実行して、新しいheroku.workアカウントを作成し、古いデフォルトアカウントを置き換えます(したがって、これまでずっと使用してきた同じ資格情報を使用します)。また、新しいキーをherokuにアップロードする必要があります:heroku keys:add ~/.ssh/identity.heroku.work.pub
  4. heroku accounts:add personal --autoを実行して、新しいheroku.personalアカウントを作成します(たとえば、新しいherokuアカウントに新しい資格情報を使用します)。また、新しいキーをherokuにアップロードする必要があります:heroku keys:add ~/.ssh/identity.heroku.personal.pub
  5. 各アプリについて、プロジェクトルートにcdし、heroku accounts:set workを実行します(これでgitがheroku.workを使用するようにセットアップします。この例では、これまで使用してきたherokuアカウントと同じです。 。作業。
  6. アプリをheroku.workからheroku.personalに移動する場合は、(a)heroku sharing:add <new owner email>との共同作業者として新しいherokuアカウントを追加します(b)ローカルディレクトリで、heroku accounts:set personalを使用してアプリをheroku.personalに切り替えます(c)transfer ** heroku sharing:transfer <new owner email>を使用して古いアカウントから新しいアカウントにアプリを追加し、次に(d)heroku sharing:remove <old owner email>を使用して古いメールアドレスコラボレーターを削除します(必要な場合)。

**提供したherokuリンクには、有料のリソースでアプリを移動するための特別な要件があると書かれています。通常、有料のリソースを削除してから、後で追加するか、サポートに依頼してください。

6
jpwynn

Herokuプラグイン https://github.com/ddollar/heroku-accounts は廃止されました。 Herokuは現在、 https://github.com/heroku/heroku-accounts で独自のメンテナンスを行っています。残念ながら、使用するアカウントをプロジェクトごとに保存していないようですので、実行する必要があります

$ heroku accounts:set account_name

herokuコマンドラインツールを使用するたびに。

Bashシェルにアクセスできるユーザー向けのクイックソリューション:ローカルのbinディレクトリを作成し(既にRails applications)にあります)、そこにbin/herokuを作成します。

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

(必要に応じて「project_name」を置き換えます)次に実行します

$ chmod + x bin/heroku

その後、実行することができます

$ bin/heroku実行コンソール

自動的に適切なHerokuアカウントが使用されます。さらに良いのは、パスに./binを追加して、実行に戻ることです。

$ heroku実行コンソール

5
James Roscoe

私はheroku-accountsプラグインの使用を開始しましたが、バディが彼のherokuアカウントで私をコラボレーターにすることができることに気づきました。

2
linojon

Nano .git/configを使用し、リモート「heroku」のURLの値をheroku.com> apps> settings> Reveal config vars> Heroku Git URLに置き換えました

1
Deepika Anand

これはしばらくの間私を悩ませており、私が好きな解決策を見つけることができませんでした。最後に見つけました。

(OS X固有の回答。)

新しいユーザーを作成するだけです。 [システム環境設定]-> [ユーザーとグループ]-> [ユーザーまたはグループの追加]ボタンに移動します。さまざまなherokuアカウント用に少数のユーザーを作成できます。私は、user1、user2などの名前を付けました。

次に、[システム環境設定]-> [共有]-> [リモートログイン]-> [すべてのユーザーのアクセスを許可]に移動します。

この時点で、ターミナルに移動して次の操作を実行できます。

$ ssh user1@localhost

その後、次のようなことができます。

$ heroku login
$ heroku keys:add
1
funroll

GitとHerokuコンソールの両方でこれを機能させるには、banticの指示に従ってssh構成を追加する必要がありましたが、.git構成に2つのリモートを作成する必要もありました。

[remote "Origin"]
  url = [email protected]:pacific-rock-4904.git
  fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "heroku"]
  url = [email protected]:pacific-rock-4904.git
    fetch = +refs/heads/*:refs/remotes/heroku/*
1
jamespaden

次のように、新しい電子メールの新しい公開/秘密キーを作成します

1)ssh-keygen -t rsa -C "[email protected]"

2)キーを保存する新しいファイル名を提供する(/home/.ssh/seckey)

3)次に、新しいキーをssh-agentに追加します:-ssh-add〜/ .ssh/seckey

4)次に、新しいキーをherokuに追加します:-heroku keys:add〜/ .ssh/seckey

5)SSH構成ファイルを〜/ .ssh/configとして追加し、コンテンツを次のように追加します

ホストheroku.comホスト名heroku.comポート22 IdentitiesOnlyはいIdentityFile〜/ .ssh/seckeyユーザー[email protected]

ホストheroku.comホスト名heroku.comポート22 IdentitiesOnlyはいIdentityFile〜/ .ssh/id_rsaユーザー[email protected]

6)いずれかを使用してコードを複製します

a)git clone [email protected]:your-application.git b)heroku git:clone -a your-application

0
John

私はまったく同じ問題を抱えています。

これは答えではありませんが、一時的な解決策は、アクセスできないアプリに「標準」のherokuメールを共同編集者として追加することです。

0
kbjerring

私はwin7を使用しています

1)win7で別のユーザーアカウントを作成し、ログインします

2)git bashを開き、新しいherokuアカウントにログインします

3)新しいRSAキーを作成してアップロードします(指示はこちら: https://devcenter.heroku.com/articles/keys

4)その後、必要なことを行います(新しいアプリを作成し、ファイルをプッシュします.....)

5)元のherokuアカウントで作業する必要があるたびに、元のwinユーザーアカウントにログインしてherokuで作業するだけ

0
mehdok