..
PEM(Privacy Enhanced Mail): SSH 인증의 핵심
1. PEM이란 무엇인가?
.pem (Privacy Enhanced Mail)은 본래 이메일을 안전하게 전송하기 위해 만들어진 규격이었으나, 현재는 주로 디지털 인증서나 비공개키(Private Key)를 저장하는 용도로 널리 사용됩니다. 내부적으로는 이진 데이터를 Base64로 인코딩한 텍스트 형식을 띠고 있습니다.
2. SSH 인증과 PEM의 활용
AWS와 같은 클라우드 환경에서는 보안을 위해 아이디/패스워드 방식 대신 인증키(PEM) 방식을 권장합니다.
인프라 접속 구조 (Bastion Host)
보통 보안을 위해 서비스 인스턴스들은 프라이빗 서브넷에 숨겨두고, 외부에서 접속 가능한 게이트웨이(Bastion Host)를 앞단에 둡니다.
- 관리자는 자신의 로컬 PC에 발급받은 비공개키(.pem)를 보관합니다.
- 접속 대상 서버의
~/.ssh/authorized_keys파일에는 해당 키에 대응하는 공개키가 등록되어 있습니다. - SSH 접속 시, 저장된 키를 이용해 암호학적인 검증 과정을 거쳐 별도의 패스워드 입력 없이 안전하게 서버에 접속할 수 있습니다.
윈도우 전용 SSH 클라이언트인 PuTTY의 경우 .pem 형식을 직접 지원하지 않아 .ppk로 변환하여 사용해야 하지만, 최근의 현대적인 터미널 환경이나 Xshell 등은 .pem 파일을 직접 인식하여 편리하게 사용할 수 있습니다.