*사용자 이름*에 대한 인증 실패가 너무 많습니다.

*사용자 이름*에 대한 인증 실패가 너무 많습니다.

SSH 액세스가 활성화된 Hostgator 계정이 있습니다. 이 명령을 사용하여 생성된 .pub 키 파일을 업로드하려고 할 때:

rsync -av -e "ssh -p2222" /home/user/.ssh/key.pub [email protected]:.ssh/authorized_keys

나는 계속해서 다음을 받고 있습니다 :

111.222.33.44에서 연결 끊김 수신: 2: 사용자 이름에 대한 인증 실패가 너무 많습니다.
rsync: 연결이 예기치 않게 종료되었습니다(지금까지 0바이트 수신됨) [발신자]
rsync 오류: io.c(601) [sender=3.0.7]에서 설명할 수 없는 오류(코드 255)

나는 인증이 실패할 때까지 이전에 ssh를 가지고 놀았습니다. 하지만 이제 인증 실패 카운터가 재설정되지 않는 것 같습니다. (현재 12시간 이상 기다리고 있는데 기술 지원팀에서는 30분에서 1시간 후에 재설정된다고 "가정"하고 다른 사람은 "다음으로 로그인을 시도할 때마다 재설정됩니다"라고 말했습니다. 사용자 이름", 맙소사).

이것이 나를 미치게 만든다. 나는 이것을 Slicehost 사용자 정의 서버에 설정했는데 이 사람들보다 문제가 적었습니다.

어떤 팁이 있나요? 아마도 그것은 서버 측이 아닌 클라이언트 측의 문제일 것입니다.

답변1

이것은 일반적으로실수로 여러 SSH 키를 제공하여 발생함서버에. 너무 많은 키가 제공되면 서버는 모든 키를 거부합니다.

자세한 출력을 얻기 위해 명령 -v에 플래그를 추가하면 이를 직접 확인할 수 있습니다 . ssh서버가 다음과 같이 연결을 거부할 때까지 여러 키가 제공되는 것을 볼 수 있습니다."[사용자]에 대한 인증 실패가 너무 많습니다.". 상세 모드가 없으면 모호한 메시지만 표시됩니다."피어에 의한 연결 재설정".

관련 없는 키가 제공되는 것을 방지하려면 다음과 같이 ~/.ssh/config추가하여 (클라이언트 시스템의) 파일 에 있는 모든 호스트 항목에 이를 명시적으로 지정해야 합니다 .IdentitiesOnly

Host www.somehost.com
  IdentityFile ~/.ssh/key_for_somehost_rsa
  IdentitiesOnly yes
  Port 22

ssh-agent를 사용하는 경우 ssh-add -DID를 지우기 위해 실행하는 것이 도움이 됩니다.

sshSSH 호스트 구성을 사용하지 않는 경우 다음과 같이 명령 에 올바른 키를 명시적으로 지정해야 합니다 .

ssh -i some_id_rsa -o 'IdentitiesOnly yes' them@there:/path/

참고: 'IdentitiesOnly yes' 매개변수는 따옴표 사이에 있어야 합니다.

또는

ssh -i some_id_rsa -o IdentitiesOnly=yes them@there:/path/

답변2

이 작업을 수행하는 더 쉬운 방법을 찾았습니다(비밀번호 인증을 사용하는 경우).

ssh -o PubkeyAuthentication=no [email protected]

이는 키가 아닌 인증을 강제합니다. 바로 로그인이 가능했어요.

참조

답변3

나 역시 이 오류를 겪고 있었고 서버가 최대 6번의 시도를 허용하도록 구성된 경우에도 이 오류가 발생하고 있음을 발견했습니다.

/etc/ssh/sshd_config
...
...
#MaxAuthTries 6

IdentitiesOnly yes파일 에 설정하는 것 외에도 ~/.ssh/config몇 가지 다른 옵션이 있습니다.

  1. ( MaxAuthTriesssh 서버에서)
  2. 디렉토리에 있는 일부 키 쌍을 삭제 ~/.ssh/하고 실행하십시오.ssh-add -D
  3. ~/.ssh/config파일 의 특정 호스트에 키를 명시적으로 연결합니다.

다음과 같습니다:

host foo
hostname foo.example.com
IdentityFile /home/YOU/.ssh/foo
  1. 주어진 연결 시도에서 더 많은 키를 허용하기 때문에 SSH 서버를 약간 약화시키기 때문에 아마도 좋은 방법은 아닐 것입니다. 여기서 무차별 대입 공격 벡터를 생각해 보십시오.

  2. 필요하지 않고 영구적으로 삭제할 수 있는 키가 있다고 가정하는 것이 좋은 방법입니다.

  3. 그리고 IdentitiesOnly를 설정하는 접근 방식은 아마도 이 문제를 처리하는 데 선호되는 방법일 것입니다!

답변4

다음 SSH 오류가 발생하는 경우:

$ Received disconnect from host: 2: Too many authentication failures for root

.ssh 디렉터리에 5개 이상의 DSA/RSA ID 파일이 저장되어 있고(내 시스템에서는 기본값) 명령줄에 '-i' 옵션이 지정되지 않은 경우 이런 일이 발생할 수 있습니다.

SSH 클라이언트는 먼저 각 ID(개인 키)를 사용하여 로그인을 시도하고 다음으로 비밀번호 인증 프롬프트를 표시합니다. 그러나 5번의 잘못된 로그인 시도 후에 sshd는 연결을 끊습니다(기본값은 다를 수 있음).

.ssh 디렉토리에 다수의 개인 키가 있는 경우 '-o' 선택적 인수를 사용하여 명령줄에서 "공개 키 인증"을 비활성화할 수 있습니다.

예를 들어:

$ ssh -o PubkeyAuthentication=no root@host

관련 정보