윈도우에서 ppk 파일을 pem 파일로 변환하는 방법

반응형

🔧 윈도우에서 .ppk → .pem 변환 방법

① PuTTYgen 실행

  • PuTTY를 이미 설치했다면,
    시작 메뉴 → PuTTYgen 검색 → 실행하세요.
    (만약 없다면 공식 사이트에서 PuTTY를 설치하세요.)

② .ppk 파일 불러오기

  1. [Load] 버튼 클릭
  2. 파일 선택 창에서 오른쪽 하단의 “파일 형식”을 All Files (.) 로 변경
  3. 변환하려는 .ppk 파일 선택 후 열기

③ PEM 파일로 내보내기

  1. 메뉴 상단에서
    Conversions → Export OpenSSH key 클릭
  2. 파일 이름을 예를 들어 mykey.pem 으로 지정하고 저장
    (비밀번호를 걸고 싶지 않다면 “Are you sure…” 메시지에서 Yes 선택)

④ SSH 접속 테스트

변환된 mykey.pem 파일은 OpenSSH 형식이므로,
다음과 같이 SSH 접속 시 사용할 수 있습니다 👇

ssh -i mykey.pem username@서버주소

예시:

ssh -i mykey.pem ubuntu@13.124.56.78

✅ 참고 팁


생성된 pem 파일로 ssh 접속시 아래에 권한 에러 발생함

 

 

이 에러 메시지는 PEM 키 파일의 권한(permissions)이 너무 넓어서 SSH에서 거부한 상황입니다.
리눅스에서는 chmod 600으로 쉽게 해결되지만, 윈도우 환경에서는 약간 다르게 처리해야 합니다.
아래 단계대로 해결하면 정상적으로 접속할 수 있습니다 👇


🧩 원인

“Permissions for 'server-key.pem' are too open”
SSH는 개인 키 파일이 다른 사용자에게 읽기 가능한 상태면 보안상 위험하다고 판단하여 사용을 거부합니다.


✅ 해결 방법 (Windows PowerShell 기준)

① 관리자 권한으로 PowerShell 실행

  • 시작 메뉴에서 PowerShell을 검색 → 오른쪽 클릭 → 관리자 권한으로 실행

② PEM 파일이 있는 폴더로 이동

예시:

cd "C:\Work"

③ 다른 사용자 접근 권한 제거

아래 명령어를 실행합니다 👇

icacls "server-key.pem" /inheritance:r
icacls "server-key.pem" /grant:r "${env:USERNAME}:R"

🔹 첫 번째 줄
→ 상속된 권한을 제거합니다.
🔹 두 번째 줄
→ 현재 로그인한 사용자에게만 읽기 권한(R)을 부여합니다.


④ 권한 확인 (선택)

icacls "server-key.pem"

출력 결과가 다음처럼 나오면 OK입니다 👇

server-key.pem <현재사용자>(R)
Successfully processed 1 files

⑤ SSH 재시도

이제 다시 접속해보세요 👇

ssh -i server-key.pem ubuntu@url.com

 

반응형