관리자가 SSH 인증 키를 원격 서버의 홈 디렉터리로 전송했습니다. 비밀번호 없이 SSH 연결을 설정하기 위해 키 파일을 .ssh/authorized_keys 위치로 옮겼습니다. 하지만 SSH 명령은 여전히 비밀번호를 요구합니다. 출력 결과는 다음과 같습니다. 다음 중 어떤 명령을 사용하면 문제가 해결될까요?
정답: D
설명 이 문제를 해결하는 명령은 chmod 600 .ssh/authorized_keys입니다. 이 명령은 .ssh/authorized_keys 파일의 권한을 600으로 변경합니다. 즉, 파일 소유자만 읽고 쓸 수 있습니다. SSH 키 인증이 제대로 작동하려면 이 작업이 필수적입니다. SSH는 보안상의 이유로 다른 사용자나 그룹이 접근할 수 있는 키 파일을 사용하지 않기 때문입니다. ls -l 명령의 출력 결과는 현재 .ssh/authorized_keys 파일의 권한은 664입니다. 즉, 소유자와 그룹이 읽고 쓸 수 있으며 다른 사람은 읽을 수 있습니다. 다른 옵션은 문제 해결에 적합한 명령이 아닙니다. restorecon .ssh/authorized_keys 명령은 .ssh/authorized_keys 파일의 기본 SELinux 보안 컨텍스트를 복원하지만, 파일의 권한이나 소유권은 변경되지 않습니다. ssh_keygen -t rsa -o .ssh/authorized_keys 명령은 ssh_keygen이 유효한 명령이 아니고(올바른 명령은 ssh-keygen입니다), -o 옵션은 출력 파일 이름이 아닌 키 파일의 새 출력 형식을 지정하는 데 사용되므로 유효하지 않습니다. chown root:root 명령은 .ssh/authorized_keys 명령은 .ssh/authorized_keys 파일의 소유자와 그룹을 root로 변경하지만, 파일 권한은 변경되지 않으며 SSH 키 인증으로 로그인하려는 사용자가 파일에 접근할 수 있도록 허용하지 않습니다. 참고: SSH에서 공개 키 인증 사용 방법; chmod(1) - Linux 매뉴얼 페이지