이 솔루션에 언급된 모든 것을 시도했습니다.공개 키 인증을 사용할 때 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 파일만 시도하고 있음이 명확하게 표시됩니다.