간혹 서버에 접속할 때
WARNING: UNPROTECTED PRIVATE KEY FILE!
해당 내용이 출력되며 서버 접속이 거부될 때가 있다.
OpenSSH 클라이언트는 pem 파일이 오직 나만 읽을 수 있어야 사용한다.
파일에 BUILTIN\Users 같은 다른 사용자/그룹의 ACL이 조금이라도 남아 있으면 “키가 보호되지 않았다(Unprotected private key)”고 보고 키를 무시하게 된다.
해결법
- Windows
1) 소유권 확보 (필요시)
takeown /f "example.pem"
2) 상속 제거 (핵심!) → 부모 폴더에서 내려오는 (I) 권한 제거
icacls "example.pem" /inheritance:r
3) 다른 사용자/그룹 권한 제거
icacls "example.pem" /remove:g "BUILTIN\Users" "NT AUTHORITY\Authenticated Users" "Everyone" "BUILTIN\Administrators" "NT AUTHORITY\SYSTEM"
4) 현재 사용자(Administrator)에게만 읽기 권한 부여 (재설정)
icacls "example.pem" /grant:r "$env:USERNAME:R"
5) (선택) 소유자 명시적으로 현재 사용자로 설정
icacls "example.pem" /setowner "$env:USERNAME"
6) 확인
icacls "example.pem"
- MAC/LINUX
1) ACL(접근 제어 목록) 제거 — ACL이 남아 있으면 OpenSSH가 "unprotected private key"로 인식함
chmod -N example.pem
2) 확장 속성 제거 — iCloud/Quarantine 등 mac 특유 메타데이터 삭제
# 예: com.apple.quarantine, com.apple.macl 등
xattr -c example.pem
3) 권한을 최소화 (소유자만 읽기 가능)
chmod 400 example.pem
4) 부모 폴더 권한도 점검 (보통 ~/.ssh 권장)
chmod 700 "$(dirname "$(realpath example.pem)")"
5) 확인
ls -l@ example.pem'Cloud' 카테고리의 다른 글
| [Cloud] SaaS, IaaS, PaaS (1) | 2025.09.20 |
|---|