키가 승인되었지만 SSH 연결에서 비밀번호를 묻습니다.


12

SSH 키가 승인 된 것 같지만 비밀번호를 묻는 메시지가 표시됩니다. 내가 알 수있는 한 아래 로그의 "서버에서 키 : pkalg ssh-rsa blen 277"행은 내 키가 수락되었음을 의미합니다.

디버그 로그는 다음과 같습니다.

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/sam/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp <<HASH REDACTED>>
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/sam/.ssh/id_dsa
debug1: Trying private key: /home/sam/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1

SSH 문제를 겪고있는 사람을 발견 한 모든 사람이 내가보고있는 초기 시점에서 실패한다는 점을 높이 평가하십시오.

답변:


11

귀하의 개인 키는 가장 확실하게 받아 들여지지 않았습니다 . SSH 키 기반 인증이 실패 할 수있는 여러 가지 방법이 있으며 로깅은 실제로 그렇게 크지 않으므로이 특정 문제를 디버깅하는 것은 내 개인적인 애완 동물 중 하나입니다. 오류는 일반적으로 다음 상황 중 하나의 결과 인 것으로 나타났습니다 .

  • 귀하의 ~/.ssh/authorized_keys파일이 너무 열려 있습니다. 자신을 보호 sshd하기 위해 자신을 보호 하려고합니다. 인증 된 키 파일에 대한 권한이 있으면 인증에 실패합니다. 를 실행하십시오 chmod -R go-rwx ~/.ssh.
  • 공개 키 ~/.ssh/authorized_keys가 잘못되었습니다. 이것은 많은 문제의 결과 일 수 있지만 가장 일반적인 것은 복사 붙여 넣기 문제입니다. 화면에서 복사 / 붙여 넣기 할 때 일부 터미널은 줄 바꿈을 새로운 줄로 해석합니다. authorized_keys파일의 각 항목은 한 줄 이어야합니다 . 터미널 에뮬레이터의 크기를 변경하고 중단이 있는지 확인 하거나 그 안에 있어야wc -l ~/.ssh/authorized_keys 하는 키 수 또는 가장 적합한 것을 비교하여 출력 을 확인할 수 있습니다. 각 키가 한 줄인지 확인하고 괜찮을 것입니다.

7

붙여 넣은 ssh -v 출력은 키를 사용하려고 시도했지만 작동하지 않았으므로 키보드 대화 형으로 이동했습니다.

연결중인 서버에서 인증 로그를 확인 했습니까? (예 : /var/log/auth.log). 원격 권한 설정이 올바르지 않은 경우 (예 : 잘못된 권한) ssh -v (또는 -vv 또는 -vvv)는이를 알려주지 않지만 sshd에 의해 기록됩니다.


/var/log/auth.log는 "응답 거부 : 디렉토리 / 루트의 소유권 또는 모드가 잘못되었습니다"
kevlar1818

5

제 경우에는 파일에 다음 /var/log/authlog이 표시되었습니다.

[ID 800047 auth.info] Authentication refused: bad ownership or modes for directory 

올바른 소유권 / 권한을 확인 .ssh했지만 $HOME777 권한이 있습니다. $HOMEsftp가 작동하도록 755 권한을 설정 했습니다. 다시 감사합니다.


2

서버에 직접 또는 다른 로그인을 통해 액세스 할 수있는 경우 서버 로그인을 확인 /var/log/sshd하거나 /var/log/secure시스템에 따라

일반적으로 ~/.ssh/authorized_keys파일 의 권한 오류로 인해 발생 합니다. sshd를 실행하는 사용자 (때로는 서비스 사용자)가 읽을 수있는 것이 아니라 세상에 읽을 수 있는지 확인하십시오.


1
어떤 시스템을 사용 /var/log/sshd합니까? 내가 아는 시스템은 /var/log/auth.log또는을 사용합니다 /var/log/secure.
kasperd

1

~/.ssh/authorized_keys원격 600시스템의 권한 이 중요합니다 ( 시스템 RHEL 및 Solaris의 경우).

원격에서 홈 디렉토리의 권한이 중요합니다 ( 700내 시스템에서)

sshd다른 포트에서 디버그 모드로 원격 시스템에서 실행 하면 도움이 될 수 있습니다.

sudo /usr/sbin/sshd -p 5555 -dd

5555예제 포트이므로 변경할 수 있습니다. 이와 관련하여 자세한 내용은 다음을 참조하십시오. http://ubuntuforums.org/archive/index.php/t-2219973.html


0

sshd서비스를 사용하면 문제가 있음을 발견했습니다 . 이 문제를 피하려면로 sshd서비스를 중지 service sshd stop한 다음로 sshd명령 프롬프트에서 데몬 을 시작하십시오 sudo /usr/sbin/sshd.


0

시험

/sbin/restorecon -r /root/.ssh

권한 설정에 문제가있을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.