authorized_keys에 공개키가 있어도 SSH 서버는 사용자 홈과 관련 파일의 소유권·mode를 검사할 수 있습니다. OpenBSD 7.2 문서에서 StrictModes는 기본값 yes이며, 다른 사용자가 홈 경로나 파일을 쓸 수 있는지 확인하도록 설명합니다.

공개키 파일의 존재만으로 로그인 성공을 확정할 수는 없습니다. 계정·키 형식·sshd 설정·권한·로그를 분리해 확인하고, 실제 환경 버전에 맞는 공식 문서를 사용해야 합니다. 이 예시는 접속을 시도하거나 서버를 변경하지 않는 진단 교육입니다.

파일에 공개키가 있다는 것과 인증 수락은 다릅니다

공개키 인증은 클라이언트가 해당 개인키를 가지고 있음을 증명하고, 서버가 계정에 연결된 공개키와 정책을 확인하는 과정입니다. authorized_keys는 서버 측 계정의 허용 공개키 목록이지만, 목록이 있다는 사실만으로 서버의 나머지 검사가 생략되지는 않습니다. OpenSSH는 키 파일까지 도달하는 경로의 소유권과 권한을 확인할 수 있습니다.

StrictModes는 홈과 인증 파일의 신뢰 조건을 검사합니다

OpenBSD 7.2의 sshd_config 매뉴얼은 StrictModes가 로그인 허용 전에 사용자 파일과 홈 디렉터리의 mode·소유권을 검사하는 설정이라고 설명하며 기본값을 yes로 둡니다. 다른 사용자가 사용자 홈이나 키 파일을 바꿀 수 있으면, 서버는 등록된 키의 신뢰성을 보장하기 어렵습니다. 그래서 파일 권한 오류를 접했을 때 StrictModes를 꺼서 경고를 없애는 대신, 어떤 경로 구성요소가 다른 사용자에게 쓰기 가능한지 확인해야 합니다.

교육용 경로에서 확인 순서를 좁힙니다

직접 만든 가상 경로 권한 예시입니다. 제품 버전 기본값을 선언하지 않습니다.
경로 구성요소예시 mode점검 질문
/home/kim0775다른 사용자가 홈을 수정할 수 있는가?
~/.ssh0700소유자 외 쓰기가 가능한가?
authorized_keys0600파일 소유자와 실제 경로가 일치하는가?

예시에서 .ssh와 authorized_keys의 권한은 좁지만 홈 디렉터리가 그룹 쓰기를 허용합니다. 서버가 사용자 파일 및 홈을 검사하는 설정에서는 앞쪽 경로도 중요한 단서가 될 수 있습니다. 권한 진단은 한 파일에서 멈추지 않고 실제 홈 경로부터 키 파일까지 부모 디렉터리를 따라가야 합니다. Oracle Linux 문서는 .ssh와 authorized_keys의 권장 mode 및 소유권을 제시하지만, 그 예시를 모든 OpenSSH 배포판의 고정값으로 일반화하지는 않습니다.

  1. 오류 메시지와 실패 시각을 승인된 로그에서 확인합니다.
  2. sshd가 사용하는 계정의 실제 홈 경로를 확인합니다.
  3. 홈부터 .ssh, authorized_keys까지 각 구성요소의 소유자와 mode를 비교합니다.
  4. StrictModes 설정과 배포판별 sshd 버전을 해당 공식 문서로 확인합니다.
  5. 키 형식, 계정 잠금, AuthorizedKeysFile 등 다른 원인도 별도로 점검합니다.

공개키와 개인키의 보호 요구를 구분합니다

authorized_keys는 서버가 신뢰할 공개키를 담는 파일이며, 개인키와 같은 비밀정보 파일은 아닙니다. 그래도 다른 사용자가 이 파일을 바꿀 수 있으면 공격자가 자기 키를 추가할 수 있으므로 소유권과 쓰기 권한을 제한해야 합니다. 클라이언트의 개인키는 별도 비밀정보라서 읽을 수 있는 주체를 더 엄격하게 제한해야 합니다. 두 파일의 역할을 혼동하면 공개키는 모두에게 열어도 된다거나 개인키도 공개해도 된다는 잘못된 결론이 나옵니다.

숫자 mode를 한 번에 강제하는 것이 늘 정답은 아닙니다

흔한 실수는 모든 서버에 일괄 chmod를 적용해 보고 로그인 여부로 맞았는지 판단하는 것입니다. 실제로는 홈이 공유 스토리지인지, 계정이 서비스 계정인지, 서버 설정이 어떤 경로를 읽는지에 따라 변경 영향이 달라집니다. 진단을 위해 승인된 읽기 전용 자료를 먼저 모으고, 변경은 담당자의 승인·백업·롤백 계획이 있을 때 수행해야 합니다. 이 글은 해당 변경 명령을 제공하지 않습니다.

문제에서는 원인을 권한 경로와 나머지 원인으로 나눕니다

답안을 쓸 때는 먼저 StrictModes가 확인하는 사용자 홈과 파일 소유권·mode를 적고, authorized_keys의 경로와 공개키 형식을 확인합니다. 그 뒤 계정 상태, sshd 설정, 인증 로그 같은 별도 원인을 덧붙입니다. ‘키가 파일에 있으니 서버 설정 문제’ 또는 ‘홈이 쓰기 가능하니 그것만이 원인’처럼 하나의 단서로 결론을 확정하지 마세요. 로그에 실제 거부 사유가 없으면 원인을 UNKNOWN으로 남기는 편이 정확합니다.

정답을 가리고 확인해 보세요

이 글을 위해 만든 학습 예시이며 공식 기출문제나 판매 카드의 인용이 아닙니다.

authorized_keys는 0600이고 .ssh는 0700인데 홈 디렉터리가 다른 사용자에게 쓰기 가능하다는 교육용 조건입니다. 키 파일만 확인한 것으로 SSH 인증 거부 원인을 배제할 수 있나요?

정답과 해설 확인아니요. StrictModes가 확인하는 사용자 홈과 경로의 소유권·mode도 점검해야 합니다.

OpenBSD 7.2 문서는 StrictModes가 로그인 전에 사용자 파일과 홈의 mode·소유권을 검사한다고 설명합니다. 다만 실제 원인은 서버 버전, 설정, 계정 상태와 로그를 함께 봐야 합니다.

이 주제의 회상 연습 이어가기