공개 키 인증으로 SSH를 사용할 때 여전히 비밀번호 프롬프트가 표시됩니까?

공개 키 인증으로 SSH를 사용할 때 여전히 비밀번호 프롬프트가 표시됩니까?

이 솔루션에 언급된 모든 것을 시도했습니다.공개 키 인증을 사용할 때 SSH 비밀번호 프롬프트가 계속 표시되는 이유는 무엇입니까?, 하지만 여전히 비밀번호를 묻는 메시지가 표시됩니다.

내 로컬 로그:

ssh -vvv srvFlink@remoteHost

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-keyex,gssapi-with-mic,password
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/srvFlink/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/srvFlink/.ssh/id_dsa
debug3: no such identity: /home/srvFlink/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/srvFlink/.ssh/id_ecdsa
debug3: no such identity: /home/srvFlink/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/srvFlink/.ssh/id_ed25519
debug3: no such identity: /home/srvFlink/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
srvFlink@remoteHost's password:

원격 머신 파일 권한:

drwx------.  2 srvFlink srvFlink   58 Aug 18 04:46 .ssh

-rw-------. 1 srvFlink srvFlink 1679 Aug 18 04:41 id_rsa
-rw-r--r--. 1 srvFlink srvFlink  406 Aug 18 04:41 id_rsa.pub
-rw-rw-r--. 1 srvFlink srvFlink  406 Aug 18 04:45 authorized_keys
drwx------. 2 srvFlink srvFlink   58 Aug 18 04:46 .
drwx------. 4 srvFlink srvFlink 4096 Aug 18 05:14 ..

내 파일에 있어요 /etc/selinux/config.

SELINUX=permissive
SELINUXTYPE=targeted

콘텐츠id_rsa.pub내 로컬 컴퓨터의 데이터가 원격 컴퓨터에 있습니다.~/.ssh/authorized_keys

/etc/ssh/sshd_config두 기계의 내용은 동일합니다.

무엇이 문제일까요?

편집하다

파일 권한 문제인 것 같습니다.

$ journalctl _COMM=sshd
Aug 18 06:54:53 localhost sshd[8891]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Aug 18 06:54:53 localhost sshd[8891]: Authentication refused: bad ownership or modes for file /home/srvFlink/.ssh/authorized_keys
Aug 18 06:54:56 localhost sshd[8891]: Connection closed by remotehost [preauth]

답변1

-rw-rw-r--. 1 srvFlink srvFlink  406 Aug 18 04:45 authorized_keys

~해야 한다

-rw-r--r--. 1 srvFlink srvFlink  406 Aug 18 04:45 authorized_keys

에서 언급했듯이질문에 링크한 콘텐츠를 게시하세요., 허용된 답변은 "귀하의 홈 디렉터리 ~, ~/.ssh 디렉터리 및 원격 시스템의 ~/.ssh/authorized_keys 파일은 귀하만 쓸 수 있어야 합니다."입니다.

또한 질문의 홈 디렉토리를 게시할 권한이 없습니다. 그룹 쓰기가 가능하지 않거나 쓰기 가능하지 않은지 확인하세요.

답변2

Debian Stretch를 실행하는 Linux와 NAS(Synology DS715)라는 두 서버에서 똑같은 문제가 발생합니다.

알고 보니 두 경우 모두 서버의 홈 디렉터리 권한 오류인 것으로 나타났습니다.

서버의 auth.log는 매우 유용합니다.

인증 거부됨: /home/cyril 디렉토리에 대한 소유권 또는 모드가 잘못되었습니다.

Linux에는 쓰기/그룹 비트(drwxrwxr --x)가 있으므로 적어도 그룹(chmod gw ~/)에 대한 쓰기를 제거해야 하고 작동했습니다.

Synology에는 어떤 이유로든 끈끈한 문제가 있습니다.

drwx--x--x+ 4 toto 사용자 4096 1월 6일 12:11 /var/services/homes/toto

난 그걸 바꿔야 했어

chmod -t ~/

그러면 비밀번호 없이 접속할 수 있어요

답변3

디버그 로그에는 SSH 클라이언트가 id_rsa.pub가 아닌 id_rsa, id_dsa, id_ecdsa 및 id_ed25519 파일만 시도하고 있음이 명확하게 표시됩니다.

관련 정보