안내

FTP와 SFTP, FTPS의 차이

이름은 비슷하지만 속은 완전히 다릅니다. 세 프로토콜이 어떻게 다른지, 그리고 내 서버에는 무엇을 써야 하는지 정리했습니다.

· 6 분이면 읽습니다 · Vlad Fedoniuk

FTP와 SFTP, FTPS는 같은 것의 세 가지 변형처럼 보이고, 이름이 그 오해를 부지런히 거듭니다. 그런데 실제로는 하나가 1970년대 프로토콜로 비밀번호를 평문 그대로 보내고, 하나는 같은 프로토콜을 TLS로 감싼 것이며, 하나는 글자만 빌려 온 완전히 다른 프로토콜입니다. 호스팅 관리 화면이나 NAS 설정에서 셋 중 하나를 고르라고 할 때 그 선택이 실제로 무엇을 뜻하는지 정리해 보겠습니다.

짧게 말하면: 서버가 지원한다면 SFTP를 쓰세요. 전부 암호화하고, 포트를 하나만 쓰며, 방화벽도 말끔히 통과합니다. FTPS는 TLS를 나중에 붙인 FTP 기반 장비에 묶여 있을 때 씁니다. 맨 FTP는 공개돼 있고 민감하지 않은 내려받기에만, 아니면 아예 쓰지 않는 편이 낫습니다.

FTP: 가장 먼저 나왔고, 암호화가 없습니다

FTP(File Transfer Protocol)는 인터넷 초창기까지 거슬러 올라가고, 두 갈래로 동작합니다. 명령을 주고받는 21번 포트의 제어 연결과, 파일 전송이나 디렉터리 목록마다 따로 여는 데이터 연결입니다. 암호화는 전혀 없습니다. 사용자 이름도 비밀번호도 파일 내용도, 중간에서 들여다볼 수 있는 누구에게나 읽히는 형태로 네트워크를 흘러갑니다.

이 두 연결 구조가 FTP의 악명 높은 방화벽 문제도 만들어 냅니다. 액티브 모드에서는 서버가 클라이언트 쪽으로 연결을 되걸고(대개 막힙니다), 패시브 모드에서는 클라이언트가 서버의 높은 포트 어딘가로 두 번째 연결을 엽니다(서버 쪽 방화벽이 패시브용 범위를 열어 두지 않았다면 막힙니다). 로그인은 됐는데 디렉터리 목록이 끝내 오지 않는 경험을 하셨다면 원인이 이것입니다. 2026년에도 FTP가 쓰이는 자리에서 그럼에도 살아남은 이유를 다뤘습니다.

FTPS: FTP에 TLS를 덧붙인 것

FTPS는 브라우저에 자물쇠 표시를 띄우는 것과 같은 기술인 TLS 암호화를 보통의 FTP에 더한 것입니다. 두 가지 방식이 있습니다. 명시적 FTPS는 클라이언트가 평소의 21번 포트로 접속한 다음 AUTH TLS 명령으로 세션을 암호화로 전환하는 방식이고(RFC 4217에 정의된 표준입니다), 암묵적 FTPS는 990번 포트에서 첫 1바이트부터 암호화하는 예전 방식입니다.

서버는 웹사이트와 똑같이 TLS 인증서로 신원을 증명합니다. 그런데 FTPS가 해결하지 못하는 것이 두 연결 구조입니다. 데이터는 여전히 별도의 연결로 흐르니 패시브 포트를 둘러싼 방화벽 줄타기는 그대로 남고, 오히려 제어 채널이 암호화된 탓에 방화벽이 안을 들여다보고 데이터용 포트를 자동으로 열어 주지 못해 더 까다로워집니다.

SFTP: 애초에 FTP가 아닙니다

SFTP(SSH File Transfer Protocol)는 나머지 둘과 네 글자를 공유할 뿐 그 밖에는 아무것도 공유하지 않습니다. 관리자가 원격 터미널에 쓰는 것과 같은 안전한 통로인 SSH 위에 세워진 파일 전송 프로토콜입니다. 인증도 명령도 파일 데이터도 모두 22번 포트의 SSH 연결 하나 안에서 암호화된 채 오갑니다.

이 단일 연결 설계야말로 SFTP가 방화벽과 NAT를 수월하게 통과하는 이유입니다. 포트 하나만 열면 끝입니다. 인증은 비밀번호로도 되지만 SSH 키가 더 낫고, 그래서 자동 배포나 스크립트 전송에서 SFTP가 기본이 되었습니다. 서버는 인증서가 아니라 호스트 키로 신원을 증명하고, 클라이언트는 그 지문을 기억해 두었다가 바뀌면 경고해 줍니다.

FTP는 암호화되지 않은 연결 두 개를 씁니다. 21번 포트의 제어 채널과 포트 범위를 쓰는 데이터 채널입니다. FTPS는 둘 다에 TLS를 더하지만 여전히 두 개가 필요합니다. SFTP는 22번 포트의 암호화된 연결 하나에 모두 실어 보냅니다
연결이 하나냐 둘이냐. 이 차이가 방화벽에서 얼마나 고생할지를 가릅니다.

나란히 놓고 비교하기

FTPFTPSSFTP
바탕맨 TCPFTP + TLSSSH
기본 포트21 (+ 데이터용 포트)명시적이면 21 / 암묵적이면 990 (+ 데이터용 포트)22 하나
암호화없음제어 채널과 데이터 채널, 또는 둘 중 하나에 TLS전부, 항상
서버 신원 확인-TLS 인증서SSH 호스트 키
인증 방식비밀번호, 익명비밀번호, 클라이언트 인증서비밀번호, SSH 키
방화벽과 NAT번거로움 (패시브 포트 범위)가장 번거로움 (암호화된 제어 채널과 포트 범위)쉬움 (연결이 하나)
흔한 용도오래된 서버, 공개 미러기업의 FTP 장비, 규정 준수 요건웹 호스팅, VPS, NAS, 배포

어느 것을 쓰면 될까요

  • 직접 고를 수 있다면: SFTP입니다. 기본값이 가장 튼튼하고, 네트워크가 가장 단순하며, 키로 자동화할 수 있습니다.
  • 호스팅이나 장비가 FTP와 FTPS만 지원한다면: 명시적 모드의 FTPS를 쓰시고 인증서가 유효한지 확인하세요. 맨 FTP는 데이터가 정말로 공개된 것일 때만 쓰시면 됩니다.
  • 자동화하신다면: SSH 키를 쓰는 SFTP입니다. 스크립트에 비밀번호를 적어 두지 않아도 됩니다. (Windows에 기본으로 들어 있는 ftp.exe는 SFTP도 FTPS도 지원하지 않습니다. 제약은 명령줄 FTP 안내에서 확인해 보세요.)
  • 규정에서 “FTPS”를 요구한다면: 결제나 의료 분야의 일부 기준은 FTPS를 콕 집어 요구합니다. 그 밖의 경우에는 FTPS든 SFTP든 통신 구간 암호화라는 요건을 충족합니다.

서버가 실제로 무엇을 지원하는지 모르시겠다고요? 무료 테스터를 향하게 해 보세요. FTPSFTP, 그리고 FTPS 연결 테스터가 브라우저에서 진짜 핸드셰이크를 해 보고, TLS 프로토콜 스캐너는 FTPS 서버가 어떤 TLS 버전으로 협상하는지 보여 줍니다.

애초에 고르지 않아도 되게 하기

프로토콜이 셋이라는 사실이 실무에서 번거로운 이유는, 서버마다 어느 것을 쓰는지 신경 써야 한다는 점입니다. 현대적인 클라이언트를 쓰면 그 차이가 보이지 않게 됩니다. FTPieFTP와 FTPSSFTP 서버든(여기에 WebDAV와 10종이 넘는 클라우드 서비스까지) 같은 창에서 연결하고, 패시브 모드도 호스트 키 확인도 대신 처리합니다. 무료 요금제에서도 서버 연결을 3개까지 쓰실 수 있으니, 약어를 따지는 일은 그만두고 파일만 옮기시면 됩니다.

터미널에서 일하는 쪽이신가요? 명령어 목록을 가까이에 두세요. FTP 명령어SFTP 명령어 모두 문법과 예제를 함께 정리했습니다.

지금 시작하세요 30일 무료 체험

FTPie를 내려받고 30일 무료 체험을 시작하세요. FTP와 클라우드를 매끄럽게 넘나들고, 체험이 끝난 뒤에도 무료 버전을 계속 쓸 수 있습니다.

무료 체험판 다운로드
CASA 인증 및 VirusTotal 검사 완료
30일 체험 · 무료 버전 포함
Windows 10 & 11
Vlad Fedoniuk

Vlad Fedoniuk

FTPie를 만든 창업자이자 개발자입니다. 날마다의 디지털 생활을 더 쉽고 풍성하게 만드는 소프트웨어를 만듭니다. 개인 사이트는 여기에서 fedoni.uk , 또는 다음에서 만나실 수 있습니다 X (formerly Twitter) , LinkedIn , 또는 메일로 연락 주세요 vlad@ftpie.com