명시 적으로 언급되지 않았으므로 sshd는 기본적으로 authorized_keys
파일 에 대한 권한에 매우 엄격 합니다. 따라서 사용자 이외의 다른 사람 authorized_keys
이 쓸 수 있거나 사용자 이외의 다른 사람 이 쓸 수있는 경우 인증을 거부합니다 (sshd가로 구성되지 않은 경우 StrictModes no
)
"쓰기 가능하게 할 수있다"는 말은 부모 디렉토리 중 하나라도 사용자 이외의 다른 사람이 쓸 수있는 경우 해당 디렉토리를 수정하도록 허용 된 사용자는 authorization_keys를 수정 / 대체 할 수있는 방식으로 권한 수정을 시작할 수 있다는 것입니다.
또한 /home/username/.ssh
사용자가 디렉토리를 소유하지 않아서 사용자에게 키를 읽을 수있는 권한이없는 경우 문제가 발생할 수 있습니다.
drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh
jane는 .ssh
파일을 소유하지 않습니다 . 이것을 통해 수정
chown -R jane:jane /home/jane/.ssh
이러한 종류의 파일 시스템 권한 문제는로 표시 ssh -v
되지 않으며 로그 수준을 DEBUG로 설정할 때까지 sshd 로그 (!)에도 표시되지 않습니다.
- 편집
/etc/ssh/sshd_config
. LogLevel DEBUG
어딘가에 읽는 줄을 원합니다 . 배포판에서 제공하는 메커니즘을 사용하여 SSH 서버를 다시로드하십시오. ( service sshd reload
RHEL / CentOS / Scientific에서) 정상적으로 다시로드해도 기존 세션이 삭제되지 않습니다.
- 인증을 다시 시도하십시오.
- 인증 시설 로그의 위치를 파악하고 읽으십시오. (IIRC,
/var/log/auth.log
데비안 기반 배포판; /var/log/secure
RHEL / CentOS / Scientific.)
파일 시스템 권한 오류가 포함 된 디버그 출력의 문제점을 훨씬 쉽게 해결할 수 있습니다. /etc/ssh/sshd_config
완료되면 변경 사항을 되 돌리십시오 !