SSH 接続時に Too many authentication failures と表示される。

SSH

Mac OS X のターミナルを使って Linux Fedora へ SSH 接続しようとしたところ Too many authentication failures というメッセージが表示され、接続できなくなってしまいました。

今回はその対応方法を紹介します。


公開鍵認証を使って SSH 接続する設定をしていたときのことでした。

いくつかのサーバー用の鍵を作成して~/.ssh/config に登録し、実際にそれを使って SSH 接続していたんですが、あるとき、サーバーへ SSH 接続しようとすると、次のようなエラーメッセージが表示されて、接続先のサーバーから強制切断されてしまうようになりました。

Received disconnect from 192.168.72.106: 2: Too many authentication failures for tomohiro

最初はサーバーの不調なのかと思ったのですが、どうやれこれは、接続元のコンピューターに鍵ファイルがたくさんあるときに、それら全てを使って接続を試みようとするために発生するエラーの様子でした。

接続設定で identitiesonly を指定する

この問題は、~/.ssh/config で接続に使う秘密鍵をidentityfile で指定するときに、合わせてidentitiesonly yes を指定することで回避できるようです。

host gitlab.local
        identityfile    ~/.ssh/id_gitlab
        identitiesonly  yes

このようにすることで、接続の際にはidentityfile で指定した鍵だけで接続が試みられるようになり、その結果、エラーが発生しなくなりました。