SSM Port Forwarding으로 FileZilla에서 EC2 접속하기

SSM Port Forwarding으로 FileZilla에서 EC2 접속하기

SSM Port Forwarding으로 FileZilla에서 EC2로 접속하는 방법을 정리해 봤습니다.
2026.06.09

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번 블로그에서는 SSM Port Forwarding으로 FileZilla에서 EC2로 접속하는 방법을 정리해 봤습니다.

SSM Port Forwarding으로 PuTTY로 EC2에 접속해 보는 방법은 아래 블로그를 참고해 주세요.

https://dev.classmethod.jp/articles/jw-connect-ec2-with-putty-using-ssm-port-forwarding/

FileZilla는 아래 사이트에서 다운로드 받을 수 있습니다.

https://filezilla-project.org/

Port Forwarding 동작 흐름

로컬 PC

① aws ssm start-session 실행 (Port Forwarding 시작)

로컬 포트(예: 13322) → EC2 22번 포트(SSH) 연결

② FileZilla Site Manager 설정
   - Host: localhost
   - Port: 13322
   - Protocol: SFTP
   - Key File(.ppk 또는 .pem) 설정

③ FileZilla 접속

EC2 SFTP 연결 완료

Port Forwarding 시작

아래 명령어를 실행하여 로컬 포트와 EC2의 SSH 포트(22)를 포워딩합니다.

Linux / macOS

aws ssm start-session \
  --target 대상_EC2_인스턴스_ID \
  --document-name AWS-StartPortForwardingSession \
  --parameters portNumber=22,localPortNumber=13322

Windows CMD

aws ssm start-session --target 대상_EC2_인스턴스_ID --document-name AWS-StartPortForwardingSession --parameters portNumber=22,localPortNumber=13322

실행 예시

aws ssm start-session --target i-0f50ac0f146b88b24 --document-name AWS-StartPortForwardingSession --parameters portNumber=22,localPortNumber=13322

실행 성공 예시

명령어가 정상적으로 실행되면 아래와 같이 표시되며, 해당 터미널을 종료하지 않은 상태에서 FileZilla로 접속해야 합니다.

Waiting for connections...

FileZilla Site Manager 설정

Port Forwarding이 시작되었다면 FileZilla의 Site Manager에서 아래와 같이 설정합니다.

항목 설정값
프로토콜 SFTP
호스트 localhost
포트 13322
로그온 유형 키 파일
사용자 ec2-user
키 파일 .pem 파일 (FileZilla는 .pem 직접 사용 가능) 혹은 .ppk 파일

Amazon Linux 계열 AMI의 기본 사용자는 ec2-user입니다. Ubuntu 서버인 경우 ubuntu, CentOS는 centos 등 AMI에 따라 사용자 계정이 다를 수 있습니다.

FileZilla는 .pem 파일을 직접 사용할 수 있으며, 필요에 따라 .ppk 파일로 변환하여 사용할 수도 있습니다.

test1

FileZilla로 EC2 접속하기

설정을 완료했다면 Connect 버튼을 클릭합니다.

SSM Port Forwarding 세션이 정상적으로 유지되고 있다면 localhost:13322를 통해 EC2에 연결되며, 원격 서버의 파일을 확인하고 업로드 및 다운로드할 수 있습니다.

image77

마무리

이번 글에서는 AWS Systems Manager(SSM)의 Port Forwarding 기능을 활용하여 FileZilla로 EC2 인스턴스에 접속하는 방법을 살펴보았습니다.

일반적으로 FileZilla와 같은 SFTP 클라이언트를 사용해 EC2에 접속하려면 SSH(22번 포트)를 외부에 공개하거나, 특정 IP에 대해서만 접근을 허용하는 보안 그룹(Security Group) 설정이 필요합니다. 하지만 SSM Port Forwarding을 사용하면 EC2에 직접 SSH 포트를 노출하지 않고도 안전하게 SFTP 연결을 구성할 수 있습니다.

SSM Port Forwarding의 가장 큰 장점은 EC2가 인터넷에 직접 노출되지 않아도 된다는 점입니다. 사용자는 AWS CLI와 Session Manager Plugin을 통해 SSM 세션을 생성하고, 로컬 포트를 EC2의 SSH 포트로 전달하여 필요한 순간에만 접속할 수 있습니다. 이 방식은 공격 표면(Attack Surface)을 줄일 수 있으며, 운영 환경에서 보안성을 높이는 데 도움이 됩니다.

또한 FileZilla는 .pem 키 파일을 직접 사용할 수 있기 때문에 별도의 SSH 클라이언트 없이도 손쉽게 파일 업로드 및 다운로드 작업을 수행할 수 있습니다. 개발 서버나 운영 서버에서 정적 파일을 관리하거나 로그를 확인해야 하는 경우에도 유용하게 활용할 수 있습니다.

정리하면 다음과 같은 흐름으로 접속이 이루어집니다.

  1. AWS CLI를 통해 SSM Port Forwarding 세션 생성
  2. 로컬 포트(예: 13322)를 EC2의 SSH 포트(22)로 연결
  3. FileZilla에서 localhost:13322로 SFTP 접속
  4. SSH 키를 이용해 인증 수행
  5. EC2 파일 시스템 접근

특히 보안 정책상 SSH 포트 개방이 어려운 환경이나, Bastion Host를 별도로 운영하고 싶지 않은 환경이라면 SSM Port Forwarding은 매우 유용한 대안이 될 수 있습니다. AWS에서 권장하는 관리형 접속 방식 중 하나이기 때문에 운영 편의성과 보안성을 동시에 확보할 수 있다는 점도 큰 장점입니다.

EC2를 운영하면서 파일 전송을 위해 SSH 포트를 외부에 개방하고 있었다면, 이번 기회에 SSM Port Forwarding 기반의 접근 방식도 검토해 보시기 바랍니다. 생각보다 설정은 간단하지만, 보안 측면에서는 상당한 이점을 얻을 수 있습니다.

5%off
library

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事