본문 바로가기
AWS

[AWS] 키 페어 생성, 구조, Mac/Windows 접속법

by clolee 2025. 4. 17.

✅ 1부: 키 페어 개념, 생성, 구조 및 EC2 접속 이유


📌 1. 키 페어(Key Pair)란?

AWS EC2 인스턴스에 SSH(Secure Shell) 접속하기 위해 사용하는 암호화 기반 인증 수단.

  • 비밀번호 기반 로그인보다 안전하며, AWS에서는 기본적으로 EC2 접속 시 키 기반 로그인을 권장.
  • 키 페어는 공개키(Public Key)개인키(Private Key) 로 구성됨.
  •  SSH Key Authentication

📌 2. 공개키 / 개인키 구조 (Public/Private Key Pair)

구분 설명
🔐 Private Key 본인만 가지고 있어야 하며, 타인에게 절대 노출되어서는 안 됨
🔓 Public Key EC2 인스턴스 안에 저장되어 누구나 접근 가능
  • 공개키는 EC2 인스턴스 내 ~/.ssh/authorized_keys 에 등록됨
  • 사용자는 로컬에서 개인키를 이용해 인증을 수행

🔑 즉, EC2는 “공개키”만 가지고 있고, 로컬 사용자는 “개인키”로 인증함


📌 3. 키 기반 인증의 장점 (vs 비밀번호 로그인)

항목 키 기반 인증 비밀번호 로그인
보안성 🔐 매우 높음 (2048bit 이상 암호화) 🔓 약함 (브루트포싱 공격 가능)
자동화 스크립트, CI/CD에 적합 어렵고 비효율적
복잡도 한 번만 설정하면 간편 매번 입력 필요
AWS 권장 여부 ✅ 기본 권장 방식 ❌ 지원 안함 (직접 설정 필요)

💡 결론: AWS는 기본적으로 비밀번호 로그인은 차단되어 있음. 키 기반 로그인이 보안 및 운영상 절대적으로 유리함.


📌 4. 키 페어 생성: AWS 콘솔 vs 명령어

  • 키 이름: 키의 이름을 지정 (예: my-key-korea)
  • 키 유형(Key type): RSA 또는 ED25519
    • RSA: 가장 널리 사용됨 (2048~4096bit)
    • ED25519: 더 짧고 빠르며 보안 강도 높음
  • 파일 형식:
    • .pem: Mac/Linux에서 사용 (OpenSSH)
    • .ppk: Windows PuTTY에서 사용

🧾 CLI로 키 페어 생성

aws ec2 create-key-pair \
  --key-name my-key-korea \
  --query 'KeyMaterial' \
  --output text > my-key-korea.pem
  • 생성된 .pem 파일은 반드시 안전하게 보관해야 함
  • 분실 시 EC2에 접속할 수 없음 → 복구 불가

✅ 2부: Mac/Windows에서 SSH 키 기반 접속 실습 + 관련 도구 설명


📌 5. Mac에서 .pem 키로 EC2 접속

📍 1단계: 퍼미션 변경

chmod 400 my-key-korea.pem
  • SSH는 개인키의 권한이 너무 널널하면 거부함

📍 2단계: SSH 접속

ssh -i my-key-korea.pem ec2-user@<EC2_PUBLIC_IP>
  • ec2-user: Amazon Linux 계정 (Ubuntu는 ubuntu)
  • <EC2_PUBLIC_IP>: EC2의 퍼블릭 IP 주소

📌 6. Windows에서 PuTTY + .ppk 파일로 EC2 접속

📍 1단계: .pem → .ppk 변환 (PuttyGen 사용)

  1. PuttyGen 실행
  2. Load → my-key-korea.pem 선택
  3. “Save private key” → my-key-korea.ppk 저장

📍 2단계: PuTTY 설정

  1. Host Name: ec2-user@<EC2_PUBLIC_IP>
  2. Connection → SSH → Auth → Private key file: my-key-korea.ppk 선택
  3. 접속

📌 7. SSH 공개키 수동 등록 (Linux EC2에)

공개키 수동 등록할 일이 있을 경우:

📍 authorized_keys에 직접 추가

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# 여기에 공개키 내용 붙여넣기
chmod 600 ~/.ssh/authorized_keys

이때 붙여넣는 공개키 형식은: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQ...

  • 위 형식은 PuttyGen의 “Public key for pasting into OpenSSH authorized_keys file”에서 복사

📌 8. 요약 키워드 정리

용어 설명
SSH 보안 쉘 프로토콜
RSA 공개키 암호화 알고리즘
ED25519 최신 공개키 알고리즘, 더 가볍고 빠름
.pem 개인키 파일 (Mac/Linux용)
.ppk 개인키 파일 (Windows PuTTY용)
authorized_keys 서버에 등록되는 공개키 파일
chmod 400 파일 권한 설정 (보안상 필수)
PuttyGen .pem → .ppk 변환 도구
ec2-user 기본 접속 계정 (Ubuntu는 ubuntu)

댓글