SSH pem/개인 키 기반 로그인 오류가 발생했습니까?

SSH pem/개인 키 기반 로그인 오류가 발생했습니까?

ec2-user방금 Amazon Linux 2 운영 체제를 사용하여 ec2 인스턴스를 생성하고 login: 및 관련 프라이빗 키를 사용하여 시스템에 로그인했습니다. 다음으로 새 사용자를 생성 x하고 홈 디렉터리 .ssh/authorized_keys의 파일을 사용자의 홈 디렉터리로 복사했습니다. 마지막 으로 파일 소유권을 .ec2-userxauthorized_keysx

sudo ls -ald /home/x/.ssh
drwxrwxr-x 2 x x 29 Sep 18 16:42 /home/x/.ssh

그리고

sudo ls -al /home/x/.ssh/authorized_keys
-rw------- 1 x x 387 Sep 18 16:42 /home/x/.ssh/authorized_keys

x이제 동일한 개인 키를 사용하여 사용자로 로그인하면 다음과 같은 오류가 발생합니다.

ssh -i /some/path/aws/privatekey.pem [email protected]
[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

성공적으로 로그인하려면 이 문제를 어떻게 해결해야 합니까?

(이 authorized_keys파일에는 사용자 정보도 포함되어 있습니까?)

비슷한 질문이 도움이 되지 않았습니다.ssh: 권한이 거부되었습니다(공개 키, gssapi-with-mic)

답변1

drwxrwxr-x 2 x x 29 Sep 18 16:42 /home/x/.ssh

그룹 쓰기 권한이 설정되어 있으므로 /home/x/.ssh이론적으로 그룹의 다른 구성원이 x디렉터리의 내용을 변조할 수 있습니다. 따라서 많은 주의를 기울여 sshdauthorized_keys파일은 무시됩니다.

매뉴얼 sshd(8)페이지에는 다음과 같이 나와 있습니다.

~/.ssh/authorized_keys

다른 사용자가 파일, ~/.ssh 디렉터리 또는 사용자의 홈 디렉터리에 쓸 수 있는 경우 권한 없는 사용자가 파일을 수정하거나 교체할 수 있습니다. 이 경우 StrictModes 옵션이 "no"로 설정되지 않으면 sshd는 해당 사용을 허용하지 않습니다.

이 문제를 해결하려면:

chmod go-w / /home /home/x /home/x/.ssh

물론 루트가 소유해야 합니다 /./home

사용자는 다른 사람에게 쓰기 권한을 부여할 수 있습니다.기타 하위 디렉터리홈 디렉터리이지만 홈 디렉터리 자체와 ~/.ssh/하위 디렉터리는 보안에 민감하므로 항상 해당 디렉터리를 소유한 사용자만 쓸 수 있어야 합니다. 홈 디렉토리에는 다른 사람이 쓸 수 있는 경우 악의적인 목적으로 사용될 수 있는 파일(예 ~/.profile: 및 유사한 로그인 스크립트) 이 많이 있습니다 .~/.bashrc

SSH가 개발되기 전에는 이전 // 도구에서 사용되는 파일의 ~/.rhosts보호 요구 사항이 비슷했으며 적절하게 보호되지 않으면 마찬가지로 무시되었습니다.rshrloginrcp

관련 정보