コンピューターで複数のHerokuアカウントを操作するときに問題が発生します。
問題は、heroku gemを使用してアカウントを切り替えることで、以前はうまく機能していたことです。しかし、今では(新しいSSHキーを生成しましたが)動作しません。
git Push heroku master
それはただ言う:
[email protected]はmy_app_nameへのアクセスを許可されていません
誰が私がこれを解決することができるかについて何かアドバイスがありますか?
正しい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のアプリの名前(別名レポ名)に置き換えます。
Heroku-accountsプラグインを使用してこれを解決しました
手順についてはこちらをご覧ください
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
自分が所有していないプロジェクトの協力者として受け入れられる必要があります。
これは次のように動作します(gitを使用):
そして、それはすべての人々であるべきです。他のアプリにデプロイするときに、もう一方のリモコンをプッシュするだけです。
heroku-accounts plugin ...にいくつか追加します。この例では、既存のherokuアカウントがheroku.workであり、新しいアカウントheroku.personalを追加することを想定しています。
また、たとえば、最大25アプリに達し、新しいアカウントを作成していて、サイドプロジェクトや実験的なアプリの一部をメインアカウントから移動する場合など、アプリを一方から他方に移動する方法についても説明します。
sharing
コマンドを使用してアプリを転送するまで、アプリをheroku.personalに割り当てないでください(heroku accounts:set personal
を使用)説明どおり https://devcenter.heroku.com/articles/transferring-appsしたがって、おそらく必要な手順は次のとおりです。
heroku accounts:add work --auto
を実行して、新しいheroku.workアカウントを作成し、古いデフォルトアカウントを置き換えます(したがって、これまでずっと使用してきた同じ資格情報を使用します)。また、新しいキーをherokuにアップロードする必要があります:heroku keys:add ~/.ssh/identity.heroku.work.pub
heroku accounts:add personal --auto
を実行して、新しいheroku.personalアカウントを作成します(たとえば、新しいherokuアカウントに新しい資格情報を使用します)。また、新しいキーをherokuにアップロードする必要があります:heroku keys:add ~/.ssh/identity.heroku.personal.pub
heroku accounts:set work
を実行します(これでgitがheroku.workを使用するようにセットアップします。この例では、これまで使用してきたherokuアカウントと同じです。 。作業。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リンクには、有料のリソースでアプリを移動するための特別な要件があると書かれています。通常、有料のリソースを削除してから、後で追加するか、サポートに依頼してください。
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実行コンソール
私はheroku-accountsプラグインの使用を開始しましたが、バディが彼のherokuアカウントで私をコラボレーターにすることができることに気づきました。
Nano .git/configを使用し、リモート「heroku」のURLの値をheroku.com> apps> settings> Reveal config vars> Heroku Git URLに置き換えました
これはしばらくの間私を悩ませており、私が好きな解決策を見つけることができませんでした。最後に見つけました。
(OS X固有の回答。)
新しいユーザーを作成するだけです。 [システム環境設定]-> [ユーザーとグループ]-> [ユーザーまたはグループの追加]ボタンに移動します。さまざまなherokuアカウント用に少数のユーザーを作成できます。私は、user1、user2などの名前を付けました。
次に、[システム環境設定]-> [共有]-> [リモートログイン]-> [すべてのユーザーのアクセスを許可]に移動します。
この時点で、ターミナルに移動して次の操作を実行できます。
$ ssh user1@localhost
その後、次のようなことができます。
$ heroku login
$ heroku keys:add
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)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
私はまったく同じ問題を抱えています。
これは答えではありませんが、一時的な解決策は、アクセスできないアプリに「標準」のherokuメールを共同編集者として追加することです。
私はwin7を使用しています
1)win7で別のユーザーアカウントを作成し、ログインします
2)git bashを開き、新しいherokuアカウントにログインします
3)新しいRSAキーを作成してアップロードします(指示はこちら: https://devcenter.heroku.com/articles/keys )
4)その後、必要なことを行います(新しいアプリを作成し、ファイルをプッシュします.....)
5)元のherokuアカウントで作業する必要があるたびに、元のwinユーザーアカウントにログインしてherokuで作業するだけ