SSH too many authentication failures 오류 해결

SSH too many authentication failures 오류 해결입니다. ssh-agent key 확인, ssh-add -D, IdentityFile, IdentitiesOnly yes, PubkeyAuthentication=no와 디버그 로그를 정리했습니다.

SSH too many authentication failures 오류 해결

Too many authentication failures는 SSH client가 서버에 여러 key를 순서대로 제시하다가, 서버의 인증 시도 제한에 먼저 걸릴 때 자주 발생한다. SSH agent에 등록된 key가 많거나, 접속 대상별 key를 명확히 지정하지 않았을 때 흔하다.

현재 agent key 확인

ssh-add -l

등록된 key가 너무 많다면 임시로 agent 목록을 비울 수 있다.

ssh-add -D
ssh-add ~/.ssh/id_ed25519

접속할 때 key 직접 지정

ssh -i ~/.ssh/key_for_somehost_ed25519 user@somehost.example

~/.ssh/config 설정

접속 대상마다 사용할 key를 고정하려면 IdentitiesOnly yes를 사용한다. Host에는 URL이 아니라 SSH 별칭이나 호스트명을 적는다.

Host somehost
    HostName somehost.example
    User username
    Port 22
    IdentityFile ~/.ssh/key_for_somehost_ed25519
    IdentitiesOnly yes
ssh somehost

비밀번호 인증으로 임시 접속

서버가 비밀번호 인증을 허용하는 환경에서만 임시로 공개키 인증을 끌 수 있다. 운영 서버에서는 정책에 따라 허용되지 않을 수 있다.

ssh -p 22 -o PubkeyAuthentication=no username@somehost.example

디버그 로그 확인

ssh -vvv somehost

로그에서 Offering public key가 여러 번 반복되다가 끊기면 key 제시 횟수 문제가 맞다. 이 경우 agent 정리 또는 IdentitiesOnly yes가 정석적인 해결책이다.

BGM EVER