dotcloudにpush出来ない。

dotcloudデビューしようとしたら、pushに失敗。

ubuntuでは問題ないのにmacだと以下のエラーが出た。

Pseudo-terminal will not be allocated because stdin is not a terminal.
Warning: Permanently added '[uploader.dotcloud.com]:1060,[174.129.15.77]:1060' (RSA) to the list of known hosts.
Received disconnect from 174.129.15.77: 2: Too many authentication failures for dotcloud
fatal: The remote end hung up unexpectedly
Warning: The SSH connection failed
Please try again. If the problem persists, send an email to support@dotcloud.com.
Also please check that your are allowed to make an SSH connection to a custom port.
Abort.

ssh-agentを落としたら上記のエラーは起きなくなりましたが もちろん毎回パスフレーズを聞かれるようになってしまいます。 ssh-agentを上げ直すと同じエラーが発生。 試しに、~/.ssh/configに以下を追記してみても駄目でした。

Host *.dotcloud.com # uploader.dotcloud.comとか174.129.15.77も試した。
User dotcloud
IdentityFile ~/.dotcloud/dotcloud.key
Port 1060

とりあえず、ssh-agentを落とせば大丈夫だけど、根本解決ではないですね。 進展があればまた記事を投稿する予定です。 以下の記述を.ssh/configの先頭へ追記することでdotcloudへpushすることが出来るようになりました。

IdentitiesOnly yes

SSH_CONFIG (5)にあるIdentitiesOnlyに関する項目からの引用です。

IdentitiesOnly (ファイルに格納された秘密鍵のみを使用)

認証の際に、たとえ認証エージェントssh-agent (1) が複数の秘密鍵を持っていた場合でも、
ssh_config ファイルで指定された秘密鍵のみを使用するよう指定します。
この引数のとりうるキーワードは"yes"または"no"です。

この項目を使うのは、ssh-agent が多くの異なる秘密鍵を返すような状況でしょう。
デフォルトでは"no"になっています。