오늘 SSH를 통해 내 서버에 연결하려고 시도했을 때 권한 거부 메시지를 받았습니다( 와 동일 sftp
). 이전에는 잘 작동했고 일부 폴더 권한을 수정하려고 시도한 것을 제외하고는 서버 설정을 변경하지 않았습니다 chown
.
루트 사용자가 작동합니다 ssh
/ sftp
문제 없습니다.
(루트 사용자의 경우 파일이 없고 파일이 .ssh/authorized_keys
하나만 있습니다. 일반 사용자의 경우 홈 폴더에 폴더 .ssh/known_hosts
가 없습니다 .).ssh
답변1
루트 액세스 권한이 있다고 말씀하셨습니다. 문제의 원인을 확인하려면 루트로 상자에 SSH로 접속하세요. 기본 로그 파일을 확인하십시오 /var/log/messages
.
이 명령을 tail -f /var/log/messages
터미널에서 계속 실행하고 일반 사용자로 SSH를 통해 서버에 연결하십시오. 로그 파일의 항목을 봅니다.
답변2
~/.ssh 디렉터리 및/또는 ~/.ssh/authorized_keys 파일에 대한 권한을 변경한 것 같습니다. 아니면 홈 그룹이나 전체를 쓰기 가능하게 만들 수도 있습니다.
~/.ssh는 700(drwx------)이어야 하고 ~/.ssh/authorized_keys는 600(-rw-------)이어야 합니다.
~/.ssh의 개인 키 파일 id_rsa
( 등) id_dsa
도 600이어야 합니다. 공개 키 파일( , 등)에 대한 권한은 id_rsa.pub
덜 id_dsa.pub
엄격합니다. 누구나 읽을 수 있습니다.
이러한 모든 파일과 디렉터리는 사용자가 소유해야 합니다.
홈 디렉토리가 누구나 쓰기 가능하고 StrictModes가 sshd_config에 설정된 경우(기본값은 "yes"), sshd는 홈 디렉토리 아래의 어떤 것도 신뢰하지 않습니다(~/.ssh 및 그 안의 모든 항목 포함). 왜냐하면 전역적으로 쓰기 가능한 홈 디렉토리이기 때문입니다. 이는 시스템의 모든 사용자가 이러한 파일을 생성하거나 수정할 수 있음을 의미합니다.
Centos의 sshd가 그룹 쓰기 가능 홈 디렉토리를 어떻게 처리하는지 잘 모르겠지만 홈 디렉토리가 그룹 쓰기 가능하다면 동일하게 적용될 수 있습니다. 그룹의 모든 사용자가 ~/.ssh 파일을 생성/변경했을 수 있습니다. (IIRC Debian의 sshd는 그룹 쓰기 가능 홈 디렉토리를 허용하도록 구성되어 있습니다. 왜냐하면 Debian의 adduser는 전통적으로사용자당 그룹사용자만이 회원입니다)