Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

네트워크 보안에서 PPK란 무엇일까? 의미부터 변환 방법까지 완벽 정리

네트워크 보안에서 PPK란 무엇을 의미할까?

PPK는 맥락에 따라 두 가지 의미로 사용됩니다. 무선 보안 분야에서는 패킷마다 새로운 암호화 키를 적용하는 패킷 키잉(Packet Keying) 방식을 가리키기도 하지만, 실무에서 가장 널리 쓰이는 의미는 SSH 클라이언트 프로그램인 PuTTY가 사용하는 전용 개인 키 파일 형식(PuTTY Private Key)입니다. 이 글에서는 후자를 중심으로 PPK의 개념과 변환 방법을 자세히 살펴보겠습니다.

PPK 파일이란?

PPK 파일은 PuTTY가 생성한 개인 키(Private Key)를 저장하는 독자 형식의 파일입니다. 이 개인 키와 한 쌍을 이루는 공개 키(Public Key)를 서버 측에 등록해 두면, 비밀번호 없이도 안전하게 상대방과 통신하고 원격 서버에 인증할 수 있습니다. 즉, PPK는 안전한 SSH 접속을 위한 핵심 열쇠라고 할 수 있습니다.

PEM과 PPK의 차이점

PEM(Privacy Enhanced Mail) 형식은 인증서와 키를 base64로 인코딩하여 저장하는 표준 컨테이너 형식으로, Linux 서버나 OpenSSL 환경에서 널리 사용됩니다. 반면 PPK(PuTTY Private Key)는 오직 PuTTY 계열 프로그램에서만 사용할 수 있는 전용 형식입니다. 따라서 .pem 확장자를 가진 키를 PuTTY나 WinSCP에서 그대로 사용할 수는 없으며, PuTTYgen 도구를 이용해 PPK 형식으로 변환해야 합니다.

Windows에서 PPK를 OpenSSH(RSA) 키로 변환하는 방법

PuTTYgen 프로그램을 실행한 뒤 다음 순서대로 진행하면 됩니다.

  1. PuTTYgen을 실행하고 [Load] 버튼을 클릭합니다.
  2. 파일 형식을 'All Files(*.*)'로 변경한 후 변환할 .ppk 파일을 선택하고 [열기]를 누릅니다.
  3. 키에 암호(passphrase)가 설정되어 있다면 해당 문구를 입력하고 [OK]를 클릭합니다.
  4. 변환이 성공적으로 완료되었다는 알림창이 나타나면 [확인]을 누릅니다.
  5. 상단 메뉴에서 [Conversions] → [Export OpenSSH Key]를 선택합니다.
  6. 파일 이름과 저장 위치를 지정한 뒤 저장하면 OpenSSH 형식의 키 파일이 완성됩니다.

Linux에서 PPK를 PEM으로 변환하는 방법

Linux 환경이라면 명령줄 도구 puttygen을 활용해 간단히 변환할 수 있습니다.

  1. 먼저 아래 명령으로 putty-tools를 설치합니다.
    sudo apt-get install putty-tools
  2. puttygen 명령으로 PPK 파일을 PEM 파일로 변환합니다.
    puttygen server.ppk -O private-openssh -o server.pem
  3. 생성된 .pem 파일의 권한을 600으로 조정합니다.
    chmod 600 server.pem
  4. 완성된 키 페어를 사용해 SSH로 원격 Linux 서버에 접속합니다.
    ssh -i server.pem user@서버주소

SFTP 환경에서의 PPK 파일

WinSCP나 FileZilla 같은 SFTP 클라이언트로 접속하려면 개인 키가 해당 프로그램이 지원하는 형식이어야 합니다. WinSCP는 PuTTY 기반이므로 PPK 형식을 그대로 지원하지만, FileZilla는 PPK를 직접 읽지 못하기 때문에 사전에 PuTTYgen으로 키를 변환해 두는 것이 좋습니다. 참고로 FileZilla Client는 FTPS(FTP over TLS)와 SFTP를 모두 지원하는 오픈소스 소프트웨어로, GNU 일반 공중 사용 허가서(GPL)에 따라 무료로 배포됩니다.

PPK 키로 서버에 로그인하는 방법

PuTTY에서 PPK 키를 사용해 인증하려면 다음 단계를 따르세요.

  1. PuTTY 설정 화면에서 좌측 메뉴의 [Connection] → [SSH] → [Auth]로 이동합니다.
  2. 'Private key file for authentication' 항목 옆의 [Browse] 버튼을 클릭합니다.
  3. 사용할 .ppk 파일을 선택한 뒤 [열기]를 누르고 세션을 저장한 후 접속하면 됩니다.

함께 알아두면 좋은 관련 약어

  • PW: 주당(per week)을 뜻하는 약어로, 비용 산정 등에서 7일 단위를 의미합니다.
  • PK: Primary Key(기본 키), Public Key(공개 키), Protein Kinase(단백질 키나아제), Pakistan International Airlines의 IATA 코드 등 다양한 분야에서 사용됩니다.
  • OSB: Oriented Strand Board(방향성 스트랜드 보드)의 약자로, 목재 칩과 수지를 압착·가공해 만든 건축 자재로 CDX 합판의 저렴한 대체재입니다.
  • LPA: Lasting Power of Attorney(지속적 위임장)를 의미하는 법률 용어 약어입니다.

마무리

PPK는 PuTTY 생태계에서 필수적인 개인 키 파일 형식입니다. PuTTYgen만 잘 활용하면 OpenSSH나 PEM 등 다른 형식과 자유롭게 상호 변환할 수 있으므로, Windows와 Linux, 다양한 SFTP 클라이언트를 넘나들며 작업하는 개발자와 시스템 관리자에게 유용합니다. 키 파일을 다룰 때는 항상 암호(passphrase)를 설정하고 파일 권한을 안전하게 관리하는 습관을 들이시기 바랍니다.