sshで接続時の「Too many authentication failures for username」エラーの対処法

ssh-agent」が動作している場合 の内容を訂正しました

原因は接続先サーバのsshd_configで設定されてるsshの最大試行可能回数を越えたって事。
何でこんなエラーが発生したかってのは、
接続元のsshクライアントがssh_configのPreferredAuthenticationsにて設定されてる順で接続を試していき、失敗しすぎたから。
対応方法は、今回接続しようとしているサーバの認証方法によってちょっと違ってくる。

password認証のサーバに接続したい場合

上述したクライアントのssh_configに以下の設定を追加してやればいい。

PreferredAuthentications password

または、接続コマンドに直接オプション指定してやってもok。

ssh username@IPAddress -o PreferredAuthentications=password

publickey認証のサーバに接続したい場合

この場合はクライアントで「ssh-agent」が動作してるかどうかで対応方法が変わる。

ssh-agent」が動作していない場合

上述したクライアントのssh_configに以下の設定を追加してやればいい。

IdentityFile /root/.ssh/id_rsa

または、接続コマンドに直接オプション指定してやってもok。

ssh username@IPAddress -o IdentityFile /root/.ssh/id_rsa
ssh-agent」が動作している場合

ssh-agentはssh-addにて登録されている鍵ファイルを順に試していき、任意にその順番を指定する事は出来ないので、根本的に鍵ファイルを登録し過ぎているのが問題。
必要の無い鍵ファイルを削除するか、サーバ周りの環境を見直した方がいいのかも。
IdentitiesOnlyを指定してやればokでした。

Host hogehoge.com
  HostName fugafuga.com
  User hogo
  Port 12345
  IdentitiesOnly yes
  IdentityFile ~/.ssh/id_rsa


と、いろいろ書いてはみたけどそんな自信はない。
しかもsshの認証方式はもちろん他にもあるけどそこはノータッチで。