前島です。

.ssh/config の設定はどうなっていますか?

Host heroku.personal
HostName heroku.com
IdentityFile /PATH/TO/PRIVATE/KEY  # 個人用
IdentitiesOnly yes

Host heroku.corporate
HostName heroku.com
IdentityFile /PATH/TO/PRIVATE/KEY  # 会社用
IdentitiesOnly yes

もし上記のような感じで設定されているなら

git remote add heroku git@heroku.corporate:リポジトリ名.git
git push heroku master

のようにすることでうまく動くのではないかと思います。

上記の .ssh/config では、ホスト名を heroku.personal としたときに個人用の鍵、 heroku.corporate としたときに会社用の鍵を使うような設定になっています。
恐らくリモートホスト名を heroku.com にしていたため、
鍵の指定がされていない状態で push →想定していない方の鍵が使われて失敗
という流れなのではないかと。
 

日付:2012年9月28日金曜日、時刻:21:55、差出人:Takeuji Kei:

ご指摘ありがとうございます。質問者のうじです。
では、heroku-accountsプラグインをインストールしてからの「しかるべき設定」について説明しますね。

1)
まず会社用の設定をプラグインで追加ました。
heroku-accoutsプラグイン上で、会社用と個人用を
切り分けられるようにするための設定、といえばいいでしょうか。
--------$ heroku accounts:add corporate
Enter your Heroku credentials.
Email: your@email.com
Password:

Add the following to your ~/.ssh/config

Host heroku.personal
HostName heroku.com
IdentityFile /PATH/TO/PRIVATE/KEY IdentitiesOnly yes
--------------
EmailとPasswordには、Heroku会社用アカウントのメールアドレスとパスワードを入力。
IdentityFileには、Heroku会社用アカウントのために新しく作った秘密鍵のパスを入力。
(ここでわざわざ新しくと言ってるのは、もともとHeroku個人用アカウントのために古くから
使ってる公開鍵・秘密鍵と比較するためです)

2)
続いて個人用の設定をプラグインで追加しました。
手続きは1)と同じです。
$ heroku accounts:add personal
としました。

3)
開発中のローカルアプリが
Heroku会社用アカウントに紐付くように、アプリディレクトリ内で下記を実行。
$ heroku accounts:set corporate

4)
その他のアプリはHeroku個人用アカウントに紐づけたいので、以下を実行しておく。
$ heroku accounts:default personal

5)
公開鍵をHeroku会社用アカウントに登録
$ heroku keys:add ~/.ssh/会社用公開鍵.pub
Uploading ssh public key /Users/xxx/.ssh/会社用公開鍵.pub

↓確認してみる
$ heroku keys
=== xxxx@xxx.jp Keys
ssh-rsa AAAAAAAA..AAAAAAAA xxxx@xxx

ここまででheroku-accountの設定は完了した(と思っています)。


6)
続いてGitの設定。リモートリポジトリを追加しました。

git remote add 識別名 git@heroku.com:アプリ名.git

7)
で、PUSHしました。
git push xxxxx master

すると最初のメールで書いたようにエラーが返ってきてしまいます。

! Your key with fingerprint
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx is not authorized to
access dev-evebako

以上が行った設定です。


Push先の設定は何を開示したらいいかがよくわかっていないので、
またいったんここまでとさせてください。

もしおわかりになる方がいらしたら、ご教授いただけると大変ありがたいです。
どうぞよろしくお願いします。


2012年9月27日 22:49 前島 真一 <netwillnet@gmail.com>:
前島です。

ちょっと情報が不足しているように思えます。
「しかるべき設定」と「push先のリポジトリ」が具体的にどうなのかわからないとだれも回答できなさそうです。

APIキーなど、見せるとまずそうな箇所は適当に修正して公開することはできますか?

日付:2012年9月27日木曜日、時刻:22:35、差出人:Takeuji Kei:

はじめまして。Rails初心者&初質問のうじと申します。
HerokuにGitでpushする際にうまくいかず、先に進まなくなったので質問させていただきます。

状況はこんな感じです。
◯Herokuのアカウントを、個人用と会社用で使い分ける必要があるため下記を行った。
→Herokuに会社用アカウントを開設(もともと個人で使う目的で1つアカウントを持ち、運用中だった)
→アカウントごとに別々の公開鍵・秘密鍵が必要とのことなので、会社用アカウント用に1組作成した
→会社用アカウントに、$heroku createでアプリを1つ作った
→heroku-accountsプラグインをインストール(しかるべき設定を行い、push先のリポジトリは正しく設定できていると思います)
→git pushすると以下のエラーで失敗する

$ git push staging master

! Your key with fingerprint
26:0e:af:d5:d6:2a:f1:d0:8c:a2:1e:a3:63:d7:9a:5b is not authorized to
access dev-evebako.

このfingerprintは、個人用の公開鍵のもので、今回会社用にあたらしく作った公開鍵のものじゃありません。ですから
認証がうまくいかないのはわかるのですが、どうやったら正しい設定にできるかわかりません。
会社用も、個人用も、両方とも使っていく予定です。

もし方法がお分かりのかたがいたら教えてください。
どこまで設定内容を開示していいのかわからないので、いったんここまでで質問とさせてください。
この設定ファイルの中身どうなってる?といったご質問があればぜひお願いします。

よろしくお願いします。

--
使い方: http://QuickML.com/



--
--------------------------------------
竹氏 圭 / Takeuji Kei
me@somewhatgood.com
(携帯も同じアドレスでOK)
090-8816-4106
--------------------------------------

--
ML: rails@ruby.ml.fdiary.net
使い方: http://QuickML.com/