[EC2]SSH 접속 UNPROTECTED PRIVATE KEY FILE 에러 해결

U_Uracil·2024년 2월 25일
0

배포

목록 보기
1/1
post-thumbnail

문제 상황


  • 발급받은 .pem(키 페어)로 EC2에 SSH 접속 시도했으나 아래 사진과 같이 막힘.


문제 원인


  • 키 페어 파일에 권한이 잘못 설정되었기 때문

시도한 방법 1


  • 아래 명령어를 통해 권한 재설정
chmod 600 ~/.ssh/key-name.pem
  • chmod : “change mode”의 약어로, 파일이나 디렉토리의 권한을 변경하는데 사용
  • 600 : 파일 권한을 나타내는 부분으로 세 개의 그룹으로 나뉘고, 각 그룹의 숫자가 권한을 의미
    • 그룹
      • 첫 번째 자리 : 소유자의 엑세스 권한 범위
      • 두 번째 자리 : 그룹 엑세스 권한 범위
      • 세 번째 자리 : 다른 사용자의 엑세스 권한 범위
    • 숫자
      • 4(100) : 읽기 권한
      • 2(010) : 쓰기 권한
      • 1(001) : 실행 권한
      • 위의 세 권한을 더한 것이 권한 범위가 됨.
        • 5 = 4 + 1 = 읽기 + 실행 권한
        • 6 = 4 + 2 = 읽기 + 쓰기 권한
        • 7 = 4 + 2 + 1 = 읽기 + 쓰기 + 실행 권한
        • 0 = 권한 없음
  • ~/.ssh/key-name.pem : 파일 경로
    • ~/.ssh/ 디렉토리의 key-name.pem 파일에 대한 권한을 변경하라는 의미

결과

  • 현재 명령어 실행 환경이 Windows 10 명령 프롬프트이기 때문에 chmod 명령어가 없어 실행되지 않음

시도한 방법 2


  • 아래 명령어를 통해 권한 재설정
icacls.exe key-name.pem /reset
icacls.exe key-name.pem /grant:r %username%:(R,W)
icacls.exe key-name.pem /inheritance:r
  • icacls.exe : ACL(Access Control List) 변경하기 위한 명령어
    • /reset : 파일의 ACL을 기본 상태로 다시 설정
    • /grant:r %username%:(R,W) : 현재 사용자에 대해 읽기(R), 쓰기(W) 권한을 부여
    • /inheritance:r : 키 페어 파일에 대해 상속을 비활성화. 상위 디렉토리의 ACL 설정을 상속받지 않기 위해
  • 위의 명령은 Unix의 chmod 600과 유사한 작업을 수행

결과

  • 정상적으로 EC2에 접속 완료

References
https://dev.classmethod.jp/articles/ec2-ssh-connect-unprotected-private-key-file-error/
https://mag1c.tistory.com/468
https://medium.com/@su_bak/ssh-접속-시-unprotected-private-key-file-해결-방법-9afac9dd8236
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/icacls
Chat-GPT

profile
기억은 유한, 기록은 무한

0개의 댓글