SSH 포트 없이 접속하는 3단계 가이드
1단계: EC2에 IAM 역할(Role) 부여하기
인스턴스가 SSM 서비스와 대화할 수 있는 권한을 줘야 합니다.
IAM 콘솔 → [역할(Roles)] → [역할 생성]을 클릭합니다.
신뢰할 수 있는 엔티티 유형으로 [AWS 서비스], 서비스는 [EC2]를 선택합니다.
권한 정책에서
AmazonSSMManagedInstanceCore를 검색하여 체크합니다.역할 이름을 지정(예:
EC2-SSM-Role)하고 생성합니다.EC2 콘솔에서 해당 인스턴스 선택 → [작업] → [보안] → [IAM 역할 수정]에서 방금 만든 역할을 연결합니다.
2단계: SSM 에이전트(Agent) 확인
인스턴스 내부에서 SSM 에이전트가 돌아가고 있어야 합니다.
Amazon Linux 2/3, Ubuntu 22.04+: 기본적으로 설치 및 활성화되어 있습니다.
기타 OS: 수동 설치가 필요할 수 있습니다.
네트워크: 인스턴스가 SSM 엔드포인트와 통신할 수 있어야 합니다. (인터넷 연결이 있거나, 폐쇄망의 경우 VPC 엔드포인트가 필요합니다.)
3단계: 보안 그룹(SG)에서 22번 포트 제거
이제 대문을 잠글 차례입니다.
EC2 보안 그룹 설정으로 이동합니다.
인바운드 규칙에서 22번 포트(SSH) 규칙을 과감히 삭제합니다.
이제 외부에서 이 서버로 직접 들어오는 통로는 모두 차단되었습니다.
접속 방법 (How to Connect)
방법 A: AWS 관리 콘솔 (Browser-based)
EC2 콘솔에서 인스턴스를 선택합니다.
상단의 [연결(Connect)] 버튼을 누릅니다.
[세션 매니저(Session Manager)] 탭을 선택하고 [연결]을 클릭합니다.
브라우저 내에서 바로 터미널 창이 열립니다.
방법 B: 로컬 터미널 (AWS CLI)
로컬 PC에서 평소처럼 터미널을 쓰고 싶다면, Session Manager Plugin을 설치한 뒤 아래 명령어를 입력하세요.
aws ssm start-session --target i-0123456789abcdef0
SSH vs SSM Session Manager 비교
비교 항목 | 전통적인 SSH | SSM Session Manager (권장) |
인바운드 포트 | 22번 오픈 필수 (취약점 노출) | 모든 인바운드 포트 폐쇄 가능 |
인증 방식 | SSH 키 페어 (.pem) 관리 | IAM 권한 제어 (RBAC) |
접속 기록 | 확인 어려움 (별도 로그 설정 필요) | CloudWatch/S3에 모든 명령어 기록 |
키 분실 위험 | 키 잃어버리면 재설정 복잡함 | 키가 필요 없음 (IAM 로그인만 하면 됨) |
Tip
"프라이빗 서브넷(Private Subnet) 사용자를 위한 팁" 인터넷 게이트웨이가 없는 폐쇄된 망에 있는 인스턴스라면, 단순히 IAM 역할만 준다고 접속되지 않습니다. 반드시 VPC 엔드포인트(Interface Endpoint) 3개(ssm, ssmmessages, ec2messages)를 생성해줘야 합니다. 보안을 위해 대부분의 내부 서버를 프라이빗 서브넷에 두므로, VPC 엔드포인트 설정은 필수입니다
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.