コンピューターで複数のHerokuアカウントを操作するときに問題が発生します。
問題は、heroku gemでアカウントを切り替えることにより、以前はうまく機能していたことです。しかし今は(新しいSSHキーを生成したとしても)機能しません。
私がするときgit push heroku master
それはただ言う:
my@email.comはmy_app_nameへのアクセスを許可されていません
私がこれをどのように解決できるかについて誰かアドバイスはありますか?
コンピューターで複数のHerokuアカウントを操作するときに問題が発生します。
問題は、heroku gemでアカウントを切り替えることにより、以前はうまく機能していたことです。しかし今は(新しいSSHキーを生成したとしても)機能しません。
私がするときgit push heroku master
それはただ言う:
my@email.comはmy_app_nameへのアクセスを許可されていません
私がこれをどのように解決できるかについて誰かアドバイスはありますか?
回答:
正しいsshキーを使用していることを確認する必要があります。
これを行う方法(およびherokuアカウントプラグインがプロンプトを表示する方法)は、〜/ .ssh / configのssh構成ファイルにセクションを追加することです。たとえば、私の仕事のherokuアカウントの場合、これは私のssh設定にあります:
Host heroku.work
HostName heroku.com
IdentityFile ~/.ssh/id_heroku_work_rsa
IdentitiesOnly yes
さて、これは非常に重要です。gitリモートが同じ名前のホストを使用するように設定されていることを確認する必要があります。この場合はheroku.workです。通常、1つのアカウントだけでherokuを使用している場合は、heroku.comになります。
したがって、gitリモートを編集する必要があります(これは、.git/config
マシンのリポジトリのファイルで行うことができます)。ファイルを次のように変更します。
[remote "heroku"]
url = git@heroku.work:<appname>.git
herokuに注意してください。仕事ではなく、Herokuの。com、および<appname>をheroku上のアプリの名前(別名リポジトリ名)に置き換えます。
.ssh/config
ための変更heroku.work
heroku.com
heroku-accountsプラグインを使用してこれを解決しました
手順についてはこちらをご覧ください
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
自分が所有していないプロジェクトの共同編集者として受け入れられる必要があります。
次のように動作します(gitを使用):
そして、それはすべての人々であるべきです。他のアプリにデプロイするときは、他のリモートをプッシュする必要があります。
heroku-accountsプラグインについていくつか追加します ...この例では、既存のherokuアカウントがheroku.workであり、新しいアカウントheroku.personalを追加していることを前提としています。
また、たとえばアプリの最大数が25になり、新しいアカウントを作成していて、いくつかのサイドプロジェクトと実験的なアプリをメインアカウントから移動したい場合など、アプリを別のアプリに移動する方法についても説明します。
heroku accounts:set personal
まで)後のあなたはHerokuのを使ってアプリを転送sharing
述べたようcommmandを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と呼ばれています。作業。heroku sharing:add <new owner email>
(b)のコラボレーターとしてローカルディレクトリに追加し、heroku accounts:set personal
(c)transfer ** を使用してアプリをheroku.personalに切り替えます。heroku sharing:transfer <new owner email>
(d)を使用して古いアカウントから新しいアカウントにアプリを(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アプリケーションにはすでに存在します)、そこにbin / herokuを作成します。目次:
#!/bin/bash
/usr/bin/heroku accounts:set account_name
/usr/bin/heroku $*
(必要に応じて「project_name」を置き換え)次に実行します
$ chmod + x bin / heroku
次に実行できます
$ bin / heroku run console
自動的に適切なHerokuアカウントが使用されます。./binをパスに追加して、実行するように戻すことをお勧めします。
$ heroku実行コンソール
これをGitとHerokuコンソールの両方で機能させるには、banticの指示に従ってssh構成を作成する必要がありましたが、.git構成へのリモートを2つ作成する必要もありました。
[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/*
これはしばらくの間私を悩ませてきました、そして私は私が好きな解決策を見つけることができませんでした。やっと見つけた。
(OS X固有の回答。)
新しいユーザーを作成するだけです。[システム環境設定]-> [ユーザーとグループ]-> [ユーザーまたはグループの追加]ボタンに移動します。さまざまなherokuアカウント用にいくつかのユーザーを作成できます。私は自分の名前をuser1、user2などにしています。
次に、[システム環境設定]-> [共有]-> [リモートログイン]-> [アクセスを許可]に移動します。
この時点で、ターミナルに移動して次の操作を実行できます。
$ ssh user1@localhost
その後、次のようなことができます:
$ heroku login
$ heroku keys:add
nano .git / configを使用してから、リモート「heroku」のURLの値をheroku.comに置き換えました>アプリ>設定>設定変数を表示> Heroku Git URL
まったく同じ問題があります。
これは答えではありませんが、一時的な解決策は、「標準」のherokuメールをコラボレーターとして、アクセスできないアプリに追加することです。
私はwin7を使用しています
1) win7で別のユーザーアカウントを作成し、ログインします
2) git bashを開き、新しいherokuアカウントにログインします
3)新しいRSAキーを作成してアップロードします(手順はこちら:https : //devcenter.heroku.com/articles/keys)
4)次に、好きなことを実行します(新しいアプリを作成し、そこにファイルをプッシュします.....)
5)元のherokuアカウントで作業する必要があるたびに、元のwinユーザーアカウントにログインして、herokuで作業します
次のように、新しい電子メールの新しい公開/秘密鍵を作成します
1)ssh-keygen -t rsa -C "mvjohn@klairvoynat.com"
2)キーを保存する新しいファイル名を指定します(/home/.ssh/seckey)
3)次に、新しい鍵をssh-agentに追加します。-ssh-add〜/ .ssh / seckey
4)次に、新しい鍵をherokuに追加します:-heroku keys:add〜/ .ssh / seckey
5)〜/ .ssh / configとしてSSH構成ファイルを追加し、次のようにコンテンツを追加します
ホストheroku.comホスト名heroku.comポート22 IdentitiesOnly yes IdentityFile〜/ .ssh / seckeyユーザーmvjohn@klairvoynat.com
ホストheroku.comホスト名heroku.comポート22 IdentitiesOnly yes IdentityFile〜/ .ssh / id_rsaユーザーmvjohn@hotmail.com
6)いずれかを使用してコードを複製する
a)git clone git@heroku.com:your-application.git b)heroku git:clone -a your-application
Heroku-accountsプラグインをインストールして設定します!!
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
作業中のherokuアカウントに設定して、変更をプッシュします。