■エラーの内容
こんなのが出ました。
$ ssh <ユーザー名>@<ユーザー名>.sakura.ne.jp
Received disconnect from : 2: Too many authentication failures for <ユーザー名>

なんじゃらほいと思って、違うIPアドレスのクライアントから接続したらうまくいった。
これは、何度もエラーしていると、IPアドレスで弾いちゃうソフトが入っているのかな?と問い合わせてみたら、IPで弾いてないんですけどとの返答。

さて、困った。
多分、僕の設定が悪い。

んで、いろいろ試しているうちになんとなくわかった!

■調査の流れ
接続に失敗するクライアントのユーザーのsshのconfigファイルが以下の様になってた。
# ~/.ssh/config

IdentityFile ~/.ssh/id_rsa.hogehoge1
IdentityFile ~/.ssh/id_rsa.hogehoge2
IdentityFile ~/.ssh/id_rsa.hogehoge3
IdentityFile ~/.ssh/id_rsa.hogehoge4
IdentityFile ~/.ssh/id_rsa.hogehoge5
IdentityFile ~/.ssh/id_rsa.hogehoge6 IdentityFile ~/.ssh/id_rsa.hogehoge7

id_rsa.hogehoge7だけが上手くいかないわけ。
んで、もしかしたらと思って、id_rsa.hogehoge7を一番上に持ってきて、再度チャレンジ。
# ~/.ssh/config

IdentityFile ~/.ssh/id_rsa.hogehoge7
IdentityFile ~/.ssh/id_rsa.hogehoge1
IdentityFile ~/.ssh/id_rsa.hogehoge2
IdentityFile ~/.ssh/id_rsa.hogehoge3
IdentityFile ~/.ssh/id_rsa.hogehoge4
IdentityFile ~/.ssh/id_rsa.hogehoge5 IdentityFile ~/.ssh/id_rsa.hogehoge6

これで、ちゃんと接続できた!
変わりに、id_rsa.hogehoge6が接続出来なくなったのだった。
これで謎が解けた!

■今回のエラーの全貌
・このようなconfigファイルの書き方だと、sshコマンドさんは上から何度もアクセスして試してみる

・リモート側が6回までは失敗してもOKだけど、7回目からは無視

・失敗し過ぎで切断エラー

■対策
# ~/.ssh/config

Host hogehoge1.sakura.ne.jp
IdentityFile ~/.ssh/id_rsa.hogehoge1

Host hogehoge2.sakura.ne.jp
IdentityFile ~/.ssh/id_rsa.hogehoge2

Host hogehoge3.sakura.ne.jp
IdentityFile ~/.ssh/id_rsa.hogehoge3

Host hogehoge4.sakura.ne.jp
IdentityFile ~/.ssh/id_rsa.hogehoge4

Host hogehoge5.sakura.ne.jp
IdentityFile ~/.ssh/id_rsa.hogehoge5

Host hogehoge6.sakura.ne.jp
IdentityFile ~/.ssh/id_rsa.hogehoge6

Host hogehoge7.sakura.ne.jp IdentityFile ~/.ssh/id_rsa.hogehoge7


まあ、ちゃんとホスト名と認証ファイルを紐付けしてやれってことね。
あんまりさくらとは関係ないけど、さくらだと6回までは我慢してくれるってことだな。
最近さくらインターネットをごにょごにょしてて、いろいろノウハウっぽいものが溜まって来た気がするんだけど、今回かなりさくらインターネットのサポートも巻き込んで、大騒ぎしてしまったので、戒めも兼ねてメモを。

さくらインターネットのPHPのMail関数を使うと、Internal Server Error(500)になってしまうという現象に2日間も解決に時間がかかった(主にサポートの返信待ち)。
もうちょっと早いと助かるんだけど、結構突っ込んで調べてくれて助かったー!
凄いぞ!さくらインターネット!

で、発見したのが設置しているWordPressで、メールアドレスの再発行を使用としたら「Internal Server Error」て出ちゃうわけ。
んで、ちまちまデバッグしていったら、mail()でエラーになっていることが判明。

んで、試しに以下のファイルを置いて実行したら、やっぱろエラー。
mail('hoge@hogehoge.com', 'Subject', 'Body');

おいおい、これは辺だろってことで、別のさくらのサーバで試したら動いた。
謎。
で、問い合わせ。

何度もやりとりした結果、Google Apps使っているのが悪いのが判明。

要は
・さくらインターネットを独自ドメインで運用
・ウェブだけさくら、メールはGoogle Apps
・ウェブサーバから、PHPで同じドメインへメールを送ろうとすると、内部のドメインってことでDNSを見に行かずにメールを送ってしまう
・内部的にはそんなメアドがないので、sendmail側でエラー
・Internal Server Error発生

って感じ。

解決策としては
・同じドメインへのメールなら、さくら上にも同じメールアドレスを作っといてやる
(その代わり、さくらのメールサーバに送られるので、それを見る術を考えないといけない)
・外部のSMTPで送信
でした、やはり。

WordPressの場合は、「Cimy Swift SMTP」ってプラグインを使えば幸せになれます。
↓参考サイトもたくさんあります。
Cimy Swift SMTP - Google 検索

んー、ありがちとはいえ、ログが見えないとちょっとわかりづらいなー。

さくらインターネット&Google Appsを使う場合は、PHPのメール周り注意だなー。