AWS EC2 파일질라 접속 방법 (키 파일)

AWS 문서가 안내하는 EC2 리눅스 인스턴스의 기본 접속 방법은 SSH입니다. 파일질라는 SSH 위에서 파일을 주고받는 SFTP를 지원하니, 따로 FTP 서버를 설치하지 않아도 바로 접속할 수 있어요. 비밀번호 대신 인스턴스를 만들 때 받은 키 파일(.pem)로 로그인합니다. (AWS 문서에 따르면 기본 설정에서는 비밀번호 로그인과 root 로그인이 꺼져 있습니다.)
💡 결론부터: 사이트 관리자에 이렇게 넣으세요. 프로토콜 SFTP · 호스트 인스턴스의 퍼블릭 IPv4 DNS(또는 퍼블릭 IP) · 포트 22 · 로그온 유형 키 파일 · 사용자 AMI별 기본 사용자(Amazon Linux는
ec2-user, Ubuntu는ubuntu) · 키 파일 내려받은.pem접속이 안 되면 보안 그룹에 내 IP의 SSH(22번) 허용 규칙이 있는지부터 확인하세요.
🙋 이 사이트에 대해 filezilla.kr은 Amazon Web Services와 관계없는 비공식 파일질라 한국어 안내 사이트입니다. 이 글은 AWS 공식 문서의 접속 조건을 파일질라 화면 기준으로 정리한 것입니다.
한눈에 보기
| 항목 | EC2 값 | 어디서 확인 |
|---|---|---|
| 프로토콜 | SFTP | — |
| 호스트 | 퍼블릭 IPv4 DNS 또는 퍼블릭 IP (예: 192.0.2.10) | EC2 콘솔 > 인스턴스 > 세부 정보 |
| 포트 | 22 | 보안 그룹 인바운드 규칙 |
| 로그온 유형 | 키 파일 | — |
| 사용자 | AMI별 기본 사용자 (아래 표) | 인스턴스를 만들 때 고른 AMI |
| 키 파일 | 키 페어를 만들 때 내려받은 .pem (또는 .ppk) | 내 PC. 다시 받을 수 없음 |
| 웹 파일 위치 (Apache 기본) | /var/www/html | Amazon Linux 2023 LAMP 설명서 |
AMI별 기본 사용자 이름 (AWS 공식 문서 기준)
| AMI (운영체제) | 사용자 |
|---|---|
| Amazon Linux | ec2-user |
| Ubuntu | ubuntu |
| Debian | admin |
| CentOS | centos 또는 ec2-user |
| RHEL | ec2-user 또는 root |
| SUSE | ec2-user 또는 root |
| Fedora | fedora 또는 ec2-user |
| FreeBSD · Oracle | ec2-user |
| Rocky Linux | rocky |
| Bitnami | bitnami |
| 그 밖의 AMI | AMI 제공자에게 확인 |
준비물
- 파일질라 클라이언트 3.71.x → 광고 없이 파일질라 받는 법
- 실행 중(Running)이고 상태 검사를 통과한 EC2 리눅스 인스턴스
- 인스턴스를 만들 때 지정한 키 페어의 개인 키 파일(
.pem또는.ppk)
⚠️ 키 파일을 잃어버렸다면 AWS 문서에 따르면 키 페어를 만들 때 브라우저가 자동으로 내려받는 그때가 개인 키를 저장할 유일한 기회입니다. 다시 내려받을 수 없어요. 잃어버렸다면 AWS 문제 해결 문서의 "I've lost my private key" 절차를 따라야 합니다(아래 참고 문서). 절차를 줄이면 이렇습니다. 새 키 페어를 만들고 → 인스턴스를 중지한 뒤 루트 볼륨을 임시 인스턴스에 붙여
authorized_keys에 새 공개 키를 넣고 → 볼륨을 원래 인스턴스에 다시 붙여 시작합니다. 이 방법은 EBS 루트 볼륨 인스턴스에서만 되고, 루트 볼륨이 인스턴스 스토어라면 개인 키 없이는 접속할 수 없다고 AWS 문서는 설명합니다. 인스턴스를 중지하면 퍼블릭 IP도 바뀌니 다시 시작한 뒤 새 주소를 확인하세요.
1단계 — EC2 콘솔에서 호스트 주소 확인
- AWS 관리 콘솔에서 EC2를 열고 Instances(인스턴스)로 갑니다.
- 접속할 인스턴스를 고르면 아래쪽 Details(세부 정보) 탭에 Public IPv4 DNS(퍼블릭 IPv4 DNS)가 보입니다. 이 값을 복사합니다. 퍼블릭 IPv4 주소를 써도 됩니다.
- 목록에 이 칸이 안 보이면 오른쪽 위 톱니바퀴(설정) 아이콘에서 Public IPv4 DNS를 켤 수 있습니다.
📷 촬영 예정: EC2 콘솔 Instances — 인스턴스 선택 후 Details 탭의 Public IPv4 DNS 강조 (주소 가림)
- 퍼블릭 IPv4 DNS가 비어 있다면: 인스턴스 상태가 Running인지, 프라이빗 서브넷에 만들지 않았는지 확인하세요. 인스턴스를 만들 때 Auto-assign public IP를 Disable로 바꿨다면 퍼블릭 IP가 없습니다.
- 이 글의 콘솔 메뉴 이름은 AWS 문서의 영어 이름입니다. 콘솔을 한국어로 보고 있다면 번역된 이름으로 보이니, 괄호 안의 뜻을 참고해 비슷한 메뉴를 찾으세요.
🙋 어제 되던 주소가 오늘 안 돼요 AWS 문서에 따르면 인스턴스를 중지했다가 다시 시작하면 퍼블릭 IP가 바뀝니다. 주소가 바뀌지 않게 하려면 Elastic IP(고정 IP)를 연결하세요. 주소가 바뀌면 파일질라가 "알 수 없는 호스트키" 창을 다시 띄울 수 있습니다.
2단계 — 보안 그룹에서 SSH(22번) 허용
EC2의 방화벽 역할을 하는 보안 그룹(Security Group)이 내 IP에서 들어오는 SSH(TCP 22)를 허용해야 SFTP 접속이 됩니다.
- 인스턴스를 고르고 Security(보안) 탭에서 연결된 보안 그룹을 누릅니다.
- Inbound rules(인바운드 규칙)에 SSH · TCP · 22 · 소스: 내 IP가 있는지 봅니다.
- 없으면 Edit inbound rules(인바운드 규칙 편집)를 누르고 Add rule로 줄을 하나 추가합니다. 유형(Type)에서 SSH를 고르면 프로토콜 TCP와 포트 22가 자동으로 채워지고, 소스(Source)에서 My IP를 고르면 지금 내 PC의 공인 IPv4 주소가 들어갑니다. 끝으로 Save rules를 누르세요. (AWS 문서 기준)
📷 촬영 예정: EC2 보안 그룹 Inbound rules — SSH, TCP, 22, 소스 My IP 규칙 행 강조 (IP 가림)
⚠️ 소스를 "어디서나(0.0.0.0/0)"로 열지 마세요 편하다고 모든 IP에 22번을 열면 전 세계에서 로그인 시도가 들어옵니다. 내 IP만 허용하고, 장소가 바뀌면 규칙을 고치는 편이 안전합니다.
🙋 FTP(21번)는 안 열어도 되나요? 네. SFTP는 22번 하나만 씁니다. FTP처럼 데이터용 포트 범위(패시브 포트)를 따로 열 필요가 없어요. EC2에 FTP 서버를 직접 설치하지 않았다면 21번은 열 필요가 없습니다.
3단계 — 파일질라 사이트 관리자에 키 파일로 저장
키 파일 접속이 처음이라면 키 파일(.pem/.ppk)로 SFTP 접속하기에 화면별 설명이 있습니다. 여기서는 EC2에 필요한 값만 정리합니다.
- [파일(F)] > [사이트 관리자(S)...](Site Manager)를 엽니다.
- [새 사이트(N)]를 누르고 이름을
EC2 웹서버처럼 붙입니다. - [일반] 탭을 채웁니다.
| 칸 (한국어판 문구) | 넣을 값 | 뜻 |
|---|---|---|
| 프로토콜: (Protocol) | SFTP - SSH File Transfer Protocol (한국어판도 영어 그대로) | SSH로 파일 전송 |
| 호스트: (Host) | 1단계의 퍼블릭 IPv4 DNS 또는 192.0.2.10 같은 퍼블릭 IP | |
| 포트: (Port) | 22 (비워도 SFTP 기본값 22) | |
| 로그온 유형: (Logon Type) | 키 파일 (Key file) | 비밀번호 대신 개인 키로 로그인 |
| 사용자: (User) | ec2-user, ubuntu 등 | 위 AMI 표 참고 |
| 키 파일: (Key file) | …/[찾아보기]로 .pem 파일 선택 |
📷 촬영 예정: 파일질라 사이트 관리자 [일반] 탭 — 프로토콜 SFTP, 호스트 192.0.2.10, 포트 22, 로그온 유형 키 파일, 사용자 ec2-user, 키 파일 경로 입력 상태
- .pem 파일이 목록에 안 보이면: 윈도우의 키 파일 선택 창은 기본으로
.ppk만 보여 줄 수 있습니다. 창 아래 파일 형식을 모든 파일로 바꾸세요. (AWS Lightsail 문서와 FileZilla 공식 문서에 같은 안내가 있습니다.) - 변환은 필요 없어요: 파일질라 3.71.1은 EC2에서 받은
.pem을 RSA·ED25519 모두 그대로 읽었어요(샌드박스 실측 — 키 파일 칸에 넣고 바로 연결, 뜬 창은 처음 접속 때의 알 수 없는 호스트키 하나). 옛 안내에 나오는 ".ppk로 변환할까요?" 창은 3.71.1에서는 나오지 않았습니다. 오래된 파일질라에서 그 창이 뜬다면 변환본을 새 이름으로 저장하고, 원래 .pem 파일은 지우지 말고 따로 보관하세요. - EC2에서 키 페어를 만들 때 Private key file format을 ppk로 고를 수도 있습니다(AWS 문서). 이미
.pem으로 받았다면 그대로 쓰면 됩니다.
- [연결(C)]을 누릅니다.
- 처음 접속하면 알 수 없는 호스트키(Unknown host key) 창이 뜹니다. 서버의 지문을 처음 본다는 정상 확인입니다. 항상 이 호스트를 신뢰하고 이 키를 캐시에 등록에 체크하고 [확인]을 누르세요.
📷 촬영 예정: 알 수 없는 호스트키 창 — 지문(SHA-256)과 "항상 이 호스트를 신뢰하고 이 키를 캐시에 등록" 체크 상자 강조
🙋 지문을 꼭 비교해야 하나요? 더 안전하게 하고 싶다면, AWS 문서의 "(선택) 인스턴스 지문 가져오기" 방법으로 확인한 지문과 이 창의 지문이 같은지 비교할 수 있습니다. 처음 만든 내 인스턴스에 내가 확인한 주소로 접속하는 경우라면 [확인]으로 진행해도 됩니다.
4단계 — 웹 파일 올리기 (/var/www/html 권한)
접속하면 처음에는 사용자의 홈 폴더(예: /home/ec2-user)가 열립니다. 홈 폴더에는 바로 올릴 수 있어요.
웹 서버(Apache)로 보여 줄 파일은 보통 /var/www/html에 둡니다(Amazon Linux 2023 LAMP 설명서). 그런데 이 폴더는 처음에 ec2-user가 쓸 수 있는 권한이 없어서, 그냥 올리면 권한 오류가 납니다.
AWS 설명서는 SSH로 접속해 아래처럼 권한을 주는 방법을 안내합니다(Amazon Linux 2023 + Apache 기준).
sudo usermod -a -G apache ec2-user
sudo chown -R ec2-user:apache /var/www
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;- 첫 줄을 실행한 뒤에는 로그아웃했다가 다시 접속해야 그룹 변경이 적용됩니다.
- 설명서에는 파일 권한까지 바꾸는 명령이 이어집니다. 전체 절차는 아래 참고 문서의 AWS 설명서를 따르세요.
- 위 명령은 Amazon Linux 2023 + Apache 기준입니다. Ubuntu·Nginx 등 다른 조합은 사용자·그룹 이름과 웹 폴더가 다를 수 있으니, 그대로 따라 하지 말고 쓰는 OS·웹 서버의 공식 문서에서 먼저 확인하세요.
📷 촬영 예정: EC2 SFTP 접속 후 원격 사이트 칸 — /var/www/html 로 이동한 상태
⚠️ 파일질라로 root 권한 파일을 바로 고칠 수는 없어요 SFTP는 로그인한 사용자(
ec2-user등)의 권한으로만 파일을 다룹니다.sudo처럼 잠깐 관리자 권한을 빌리는 기능은 없습니다. 권한이 필요한 파일은 위처럼 소유권을 정리하거나 SSH에서 직접 고치세요. → 파일 권한(chmod) 바꾸기
5단계 — 확인
상태: SFTP 하위 시스템 초기화
상태: 디렉터리 목록 조회 성공메시지 로그에 위 문구가 보이고 오른쪽에 홈 폴더가 보이면 성공입니다. 위 두 줄은 파일질라 한국어판의 실제 메시지 문구이고, 실제 로그에는 다른 줄도 섞여 나오며 "/home/ec2-user" 디렉터리 목록 조회 성공처럼 폴더 경로가 함께 붙기도 합니다.
자주 하는 실수
| 실수 | 증상 | 바로잡기 |
|---|---|---|
| 사용자에 AWS 계정 이메일이나 다른 AMI의 사용자 이름을 넣음 | 인증 실패 | 내 AMI의 기본 사용자(ec2-user, ubuntu 등) |
| 로그온 유형을 일반으로 둠 | 비밀번호를 물어봄 | 키 파일로 바꾸고 .pem 지정 |
| 다른 인스턴스의 키 파일을 고름 | 인증 실패 | 이 인스턴스를 만들 때 지정한 키 페어 확인 |
| 보안 그룹에 22번이 없음 / 예전 IP만 허용 | 연결 시간 초과 | 인바운드 규칙에 현재 내 IP의 SSH 허용 |
| 인스턴스를 중지·재시작함 | 예전 주소로 접속 안 됨 | 새 퍼블릭 DNS/IP 확인, Elastic IP 연결 |
| 프로토콜을 FTP로 둠 | 연결 거부 | SFTP |
접속이 안 될 때 — 오류별 해결
| 파일질라에 나오는 문구 | EC2에서 흔한 원인 | 볼 글 |
|---|---|---|
20 초간 활동이 없어 연결 시간이 만료됨 / ETIMEDOUT | 보안 그룹에 22번 없음, 인스턴스 중지, 주소 바뀜 | 연결 시간 초과 · ETIMEDOUT |
ECONNREFUSED - 서버에서의 연결 거부 | 포트를 21로 넣음, SSH 서비스 중지 | ECONNREFUSED |
인증 실패 / 서버가 키를 거부 | 사용자 이름 틀림, 키 파일 불일치 | SFTP 인증 실패·호스트 키 변경 · 키 파일로 SFTP 접속하기 |
해당 파일에는 유효하거나 인식 가능한 개인 키가 포함되어 있지 않 | 키 파일 손상, 다른 파일을 고름 | 키 파일로 SFTP 접속하기 |
호스트 키 불일치 경고 | 인스턴스를 새로 만들었거나 같은 IP가 다른 서버에 붙음 | SFTP 인증 실패·호스트 키 변경 |
| 업데이트 후 갑자기 SFTP가 안 됨 | 3.70 이후 SFTP 엔진 변경 | 3.70 업데이트 이후 SFTP 접속 문제 |
| 업로드할 때 권한 오류 | /var/www/html 권한 없음 | 550 Permission denied |
자주 묻는 질문
Q. EC2에 FTP 서버를 설치해서 접속하면 안 되나요? 할 수는 있지만 FTP는 비밀번호가 암호화되지 않고, 보안 그룹에 21번과 패시브 포트 범위까지 열어야 합니다. 이미 켜져 있는 SSH를 쓰는 SFTP가 설정도 적고 안전합니다. → FTP·FTPS·SFTP는 뭐가 다른가요?
Q. 키 파일을 여러 서버에 같이 쓰는데 매번 고르기 귀찮아요. FileZilla 공식 문서에 따르면 편집 > 설정 > 연결 > SFTP에서 키 파일을 추가해 두면 모든 SFTP 서버에 자동으로 제시됩니다. → 키 파일로 SFTP 접속하기
Q. 윈도우 인스턴스에도 이렇게 접속하나요? 아니요. 이 글은 리눅스 인스턴스 기준입니다. 윈도우 인스턴스는 기본적으로 원격 데스크톱(RDP)으로 접속합니다.
참고한 공식 문서
- Amazon EC2 사용 설명서 — General connection prerequisites(퍼블릭 DNS·기본 사용자 이름·개인 키): https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connection-prereqs-general.html
- Amazon EC2 사용 설명서 — Manage system users on your Amazon EC2 Linux instance(기본 사용자 이름): https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html
- Amazon EC2 사용 설명서 — Connect to your Linux instance using an SSH client(보안 그룹 SSH 허용): https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html
- Amazon EC2 사용 설명서 — Security group rules for different use cases: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html
- Amazon EC2 사용 설명서 — Create a key pair(pem/ppk 형식, 한 번만 저장 가능): https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html
- Amazon EC2 사용 설명서 — Amazon EC2 instance IP addressing(중지·시작 시 퍼블릭 IP 변경, Elastic IP): https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html
- Amazon Linux 2023 사용 설명서 — Install LAMP on AL2023(/var/www 권한): https://docs.aws.amazon.com/linux/al2023/ug/ec2-lamp-amazon-linux-2023.html
- Amazon EC2 사용 설명서 — Troubleshoot issues connecting to your Amazon EC2 Linux instance(개인 키를 잃어버렸을 때 절차): https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#replacing-lost-key-pair
- Amazon EC2 사용 설명서 — Change the security groups for your Amazon EC2 instance(인바운드 규칙 추가·My IP·Save rules): https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/changing-security-group.html
- FileZilla 공식 문서 — Connect to SFTP with a Private Key in FileZilla: https://filezillapro.com/docs/v3/basic-usage-instructions/connect-to-sftp-with-a-private-key-in-filezilla/
한눈에 정리
- 1SFTP · 키 파일
로그온 유형 [키 파일]에 받은 .pem 을 지정해요.
- 2사용자는 AMI별
Amazon Linux는 ec2-user, Ubuntu는 ubuntu.
- 3안 되면 보안 그룹
내 IP의 SSH(22) 허용 규칙이 있는지 먼저 확인.
최종 수정 2026-09-25