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"になっています。