✅ 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 사용)
- PuttyGen 실행
- Load →
my-key-korea.pem
선택 - “Save private key” →
my-key-korea.ppk
저장
📍 2단계: PuTTY 설정
- Host Name:
ec2-user@<EC2_PUBLIC_IP>
- Connection → SSH → Auth → Private key file:
my-key-korea.ppk
선택 - 접속
📌 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) |
'AWS' 카테고리의 다른 글
[AWS] EC2 인스턴스에 SSH로 접속 시 셸은 bash인가요? (0) | 2025.04.17 |
---|---|
[AWS] SSH 접속용 키 수동 생성 (0) | 2025.04.17 |
[AWS] Amazon EC2 개요: Elastic Compute Cloud (0) | 2025.04.17 |
[RDS] SpringBoot 와 RDS 연동하기 (0) | 2022.09.01 |
댓글