문제 해결

SSH "Too many authentication failures": 진짜 원인과 해결책

서버는 연결마다 인증 시도에 한도를 둡니다(MaxAuthTries, 기본 6) ── 키가 많은 클라이언트는 잘못된 키를 먼저 제시하며 모두 소진합니다. IdentitiesOnly yes + 올바른 IdentityFile로 고치거나, 모바일에서는 연결마다 키 하나를 고정하세요.

CC Chen Chen· 창업자·2026년 6월 24일·4분 분량

"Too many authentication failures"의 의미

서버가 연결을 끊은 것은 클라이언트가 한 번의 연결에서 인증을 너무 많이 시도했기 때문입니다 ── OpenSSH는 기본적으로 6회까지 허용합니다(MaxAuthTries). 직관에 반하는 점은, 보통 본인이 아무것도 잘못 입력하지 않았는데도 이 오류가 나타난다는 것입니다. 원인은 거의 항상 많은 키가 로드된 클라이언트입니다. 키 1, 키 2, 키 3…을 차례로 제시하고, 거부될 때마다 실패로 카운트되어, 올바른 키(또는 비밀번호)의 차례가 오기 전에 연결이 끊깁니다. 해결책은 올바른 키만 제시하는 것입니다.

왜 클라이언트는 가진 키를 모두 제시하는가

SSH 에이전트와 클라이언트는 키를 쌓아둡니다. ~/.ssh 안의 모든 키, ssh-agent에 추가한 모든 키, 다른 서버의 키. 기본적으로 클라이언트는 그것들을 순서대로 모두 시도합니다. 잘못된 키 5개 = 실패 5회 = 남은 시도는 한 번. 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 ── 모바일에서는 키를 연결에 고정

모바일 클라이언트는 본질적으로 이 문제에 덜 취약합니다 ── 다만 연결이 특정한 하나의 키로 구성된 경우에만 그렇습니다. TermAI에서는 각 연결이 자체 인증 설정을 가집니다. 이 서버에 속한 키를 선택하면 클라이언트가 정확히 그 하나만 제시하므로 실패 카운터가 결코 쌓이지 않습니다. 여러 키를 가져왔는데 서버가 어느 것을 아는지 확실하지 않다면, 오류 메시지 자체에 사용자와 호스트가 적혀 있습니다 ── 그리고 다른 작동 중인 세션에서 어시스턴트에게 authorized_keys를 확인하도록 요청할 수 있습니다.

단일 고정 키로 연결된 SSH 세션
하나의 연결, 하나의 고정 키: 클라이언트가 정확히 올바른 자격 증명을 제시하므로 MaxAuthTries 카운터가 가득 차지 않습니다.

해결책 3 ── 서버 측 (아껴서 사용)

/etc/ssh/sshd_config에서 한도를 올릴 수도 있습니다.

MaxAuthTries 10
# then: sudo systemctl restart ssh

하지만 이것은 수정이 아니라 임시방편으로 취급하세요 ── 한도를 높이면 무차별 대입 공격자에게도 연결당 더 많은 시도 기회를 줍니다(fail2ban으로 완화할 수 있습니다). 진짜 해결책은 클라이언트가 올바른 키를 먼저 제시하는 것입니다. 참고로 비밀번호 인증에서는 반복해서 잘못 입력해도 이 한도에 걸립니다 ── 그건 그냥 신중하게 다시 입력하거나 로 전환하면 됩니다.

자주 묻는 질문

왜 "Too many authentication failures"가 바로 나타나나요?
클라이언트/에이전트가 여러 키를 가지고 있고 그것들을 모두 제시하며, 거부된 각 키가 서버의 MaxAuthTries(기본 6)에 카운트됩니다. 올바른 자격 증명이 시도되기 전에 연결이 끊깁니다.

서버를 건드리지 않고 고치려면?
올바른 키 하나를 강제하세요: ssh -o IdentitiesOnly=yes -i ~/.ssh/key user@host, 또는 ~/.ssh/configIdentitiesOnly yes를 설정하세요. 모바일에서는 특정 키를 연결에 연결하세요.

MaxAuthTries를 올려야 하나요?
임시방편으로만 ── 공격자에게도 도움이 됩니다. 대신 클라이언트 측에서 올바른 키를 고정하세요.

핵심 요약

  • 의미: 한 번의 연결에서 인증 시도가 너무 많음 (기본 한도 6, MaxAuthTries)
  • 진짜 원인: 클라이언트/에이전트가 키 더미 전체를, 잘못된 것부터 제시
  • 해결책: IdentitiesOnly yes + 올바른 IdentityFile 하나; 모바일에서는 연결마다 키 고정
  • 피할 것: 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