[AWS] AWS SSM을 이용한 EC2 인스턴스 연결 (SSH 대체)

2025. 3. 7. 17:30·Security/Cloud

이번 글에서는 AWS Systems Manager Session Manager(SSM)을 이용하여 SSH 키 없이 EC2 인스턴스에 접속하는 방법을 알아봅니다. 이를 위해 IAM 역할과 정책을 설정하고, EC2 인스턴스를 생성한 후, SSM을 통해 원격 접속을 수행합니다.


1. SSM 세션 연결을 위한 IAM 역할 및 정책 설정

SSM을 사용하려면 EC2 인스턴스가 AWS Systems Manager와 통신할 수 있도록 IAM 역할을 할당해야 합니다. Amazon에서는 이를 위해 AmazonEC2RoleforSSM이라는 정책을 미리 제공하고 있습니다.

IAM 역할 생성

AWS 콘솔에서 IAM > 역할(Role)로 이동합니다.

역할 생성 버튼을 클릭합니다.

서비스 또는 사용 사례에서 EC2를 선택합니다.

권한 정책에서 AmazonEC2RoleforSSM을 선택합니다.

역할 이름을 SSM-Instance-msjwa로 설정합니다.

생성 버튼을 클릭하여 역할을 생성합니다.


2. EC2 인스턴스 생성

이제 IAM 역할을 적용한 EC2 인스턴스를 생성합니다.

EC2 인스턴스 설정

콘솔>EC2>EC2 생성

인스턴스 이름: my-instance-ec2-msjwa

Amazon Machine Image(AMI): Amazon Linux 2023

인스턴스 유형: t2.micro

키페어 설정: 키페어 없이 진행 (SSM을 이용하여 접속할 것이므로 필요 없음)

  • 네트워크 설정
    • VPC: myvpc
    • 서브넷: 첫 번째 퍼블릭 서브넷 (10.0.1.0/24)
    • 퍼블릭 IP 자동 할당: 활성화

  • 보안 그룹 설정
    • 새 보안 그룹 생성
    • 인바운드 규칙 삭제 (SSM을 통해 접속할 것이므로 SSH(22) 포트 열 필요 없음)

고급 세부 정보에서 IAM 인스턴스 프로파일에서 앞서 만든 SSM-Instance-msjwa 역할 선택

인스턴스 시작 버튼을 클릭하여 EC2 인스턴스를 생성합니다.

인스턴스 생성된 것을 확인

IAM 역할 확인

  • 인스턴스 생성 후 EC2 > 인스턴스 > 해당 인스턴스 선택
  • 세부 정보 > 보안 탭에서 IAM 역할이 정상적으로 연결되었는지 확인
  • 현재 인바운드/아웃바운드 규칙이 없음에도 원격 로그인 가능 → SSM을 이용한 접속 방식이 정상적으로 설정된 것

3. SSM Session Manager를 이용한 인스턴스 연결

SSM Session Manager 접속 방법

연결할 인스턴스 선택하고 연결 버튼 클릭

연결 방법에서 Session Manager 선택

연결 버튼을 클릭하면 웹 브라우저에서 SSM을 통해 터미널이 실행됨

연결 확인

터미널에서 다음 명령어를 실행하여 접속이 정상적으로 이루어졌는지 확인

uname -a # 운영체제 정보 확인 
id # 현재 로그인한 사용자 확인

 

id 명령어를 실행하면 ssm-user라는 계정으로 접속된 것을 확인할 수 있음 → SSH 키 없이 AWS SSM을 통해 원격 접속 성공!


4. 마무리: 인스턴스 종료

EC2 > 인스턴스에서 my-instance-ec2-msjwa 선택

인스턴스 상태에서 인스턴스 종료 클릭

 

 

여기까지 SSM을 이용하여 SSH 키 없이 EC2 인스턴스에 안전하게 접속하는 방법입니다.

'Security > Cloud' 카테고리의 다른 글

[AWS] 오픈소스 도구를 통한 취약점 진단 (with ScoutSuite)  (0) 2025.04.18
[AWS] AWS CloudFormation을 통한 인프라 구성  (0) 2025.03.07
[AWS] Amazon S3 트리거를 사용하여 썸네일 이미지 생성  (0) 2025.03.06
[AWS] Amazon RDS를 사용하여 MySQL 데이터베이스 생성 및 연결  (0) 2025.03.05
[AWS] AWS VPC 엔드포인트 설정 및 프라이빗 인스턴스에서 S3 접근  (0) 2025.03.05
'Security/Cloud' 카테고리의 다른 글
  • [AWS] 오픈소스 도구를 통한 취약점 진단 (with ScoutSuite)
  • [AWS] AWS CloudFormation을 통한 인프라 구성
  • [AWS] Amazon S3 트리거를 사용하여 썸네일 이미지 생성
  • [AWS] Amazon RDS를 사용하여 MySQL 데이터베이스 생성 및 연결
min8282
min8282
  • min8282
    min8282
    min8282
  • 전체
    오늘
    어제
    • 분류 전체보기 (110)
      • Security (33)
        • System & Network (2)
        • Application (5)
        • Cloud (20)
      • Dev (18)
        • Node.js (12)
        • Hadoop (3)
        • BOJ (2)
      • Web3 & Blockchain (2)
        • Web3 (2)
      • K-Shield.Jr (15)
      • Web Security Academy (3)
      • Wargame (13)
        • Dreamhack (3)
        • Bandit (10)
      • NS (16)
        • CTF (6)
  • 블로그 메뉴

    • 홈
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    metacodem
    정처기 필기
    오블완
    정처기필기
    스마트컨트랙트
    Session Manager
    스마트 컨트랙트
    web security academy
    metacode
    File Upload
    탈중앙화
    정처기
    보안 그룹
    ELB
    ESC1
    AWS CLI
    메타코드M
    amazon s3 트리거
    web3 보안
    메타코드
    web3
    Path Traversal
    splunk db connect
    systems manager
    prepared statement
    aws lambda
    AWS SSM
    aws 트리거
    티스토리챌린지
    정보처리기사
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
min8282
[AWS] AWS SSM을 이용한 EC2 인스턴스 연결 (SSH 대체)
상단으로

티스토리툴바