トラブルシューティング

SSH「Too many authentication failures」:本当の原因と直し方

サーバーは接続ごとに認証試行に上限を設けます(MaxAuthTries、デフォルト 6)── 鍵が多いクライアントは間違った鍵を先に差し出して全部使い切ります。IdentitiesOnly yes + 正しい IdentityFile で直すか、モバイルでは接続ごとに 1 つの鍵を固定しましょう。

CC Chen Chen· 創業者·2026年6月24日·4 分で読めます

「Too many authentication failures」の意味

サーバーが接続を切ったのは、クライアントが 1 回の接続で認証を試みすぎたからです ── OpenSSH はデフォルトで 6 回まで許可します(MaxAuthTries)。直感に反するのは、たいてい自分では何も間違えていないのにこれが出ることです。原因はほぼ常に多数の鍵を読み込んだクライアントです。鍵 1、鍵 2、鍵 3…と差し出し、拒否されるたびに失敗としてカウントされ、正しい鍵(やパスワード)の番が来る前に切断されます。直し方は、正しい鍵だけを差し出すことです。

なぜクライアントは持っている鍵をすべて差し出すのか

SSH エージェントとクライアントは鍵を溜め込みます。~/.ssh 内のすべて、ssh-agent に追加したすべて、他のサーバーの鍵。デフォルトでは、クライアントはそれらを順番にすべて試します。間違った鍵 5 つ = 失敗 5 回 = 残りはあと 1 回。6 つ以上の鍵を抱えている人は新しいサーバーすべてに拒否され、仕組みを知るまでは不可解に見えます。

直し方 1 ── 正しい鍵だけを差し出す(デスクトップ)

# one-off: force a single key, ignore the agent's pile
ssh -o IdentitiesOnly=yes -i ~/.ssh/the_right_key user@host

# permanent: per-host in ~/.ssh/config
Host myserver
    HostName 203.0.113.7
    User deploy
    IdentityFile ~/.ssh/the_right_key
    IdentitiesOnly yes

IdentitiesOnly yes が鍵となるディレクティブです。これにより、クライアントがエージェントのすべての鍵をサーバーの前で次々と見せて回るのを止められます。

直し方 2 ── モバイルでは、鍵を接続に固定する

モバイルクライアントは本質的にこれに陥りにくいのですが、それは接続が特定の 1 つの鍵で構成されている場合に限ります。TermAI では各接続が独自の認証設定を持ちます。そのサーバーに属する鍵を選べば、クライアントはまさにその 1 つだけを差し出すので、失敗カウンターが積み上がることはありません。複数の鍵をインポートしてどれをサーバーが知っているか分からない場合、エラーメッセージ自体にユーザーとホストが書かれています ── そして、別の動作中のセッションからアシスタントに authorized_keys を確認してもらうこともできます。

単一の固定鍵で接続された SSH セッション
1 つの接続、1 つの固定鍵:クライアントはまさに正しい認証情報を差し出し、MaxAuthTries カウンターが満杯になることはありません。

直し方 3 ── サーバー側(控えめに)

/etc/ssh/sshd_config で上限を上げることもできます

MaxAuthTries 10
# then: sudo systemctl restart ssh

ただしこれは修正ではなく回避策として扱ってください ── 上限を上げると、ブルートフォース攻撃者にも接続あたりのスイング数が増えます(fail2ban で緩和できます)。本当の修正は、クライアントが正しい鍵を先に差し出すことです。なお、パスワード認証では繰り返し打ち間違えても同じ上限に引っかかります ── そちらは慎重に打ち直すか、に切り替えるだけです。

FAQ

なぜ「Too many authentication failures」がすぐ出るのですか?
クライアント/エージェントが複数の鍵を持っていてそれらをすべて差し出し、拒否された各鍵がサーバーの MaxAuthTries(デフォルト 6)にカウントされます。正しい認証情報が試される前に切断されます。

サーバーを触らずに直すには?
正しい鍵 1 つを強制します:ssh -o IdentitiesOnly=yes -i ~/.ssh/key user@host、または ~/.ssh/configIdentitiesOnly yes を設定します。モバイルでは、特定の鍵を接続に紐付けます。

MaxAuthTries を上げるべきですか?
応急処置としてのみです ── 攻撃者の助けにもなります。代わりにクライアント側で正しい鍵を固定してください。

クイックファクト

  • 意味:1 回の接続での認証試行が多すぎる(デフォルト上限 6、MaxAuthTries)
  • 本当の原因:クライアント/エージェントが鍵の山全体を、間違ったものから差し出す
  • 直し方:IdentitiesOnly yes + 正しい IdentityFile を 1 つ;モバイルでは接続ごとに鍵を固定
  • 避けること:MaxAuthTries を上げることを「修正」とすること ── ブルートフォースの窓口を広げてしまう
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog