SFTP
SFTP 는 SSH 로 암호화된 통로 안에서 파일을 주고받는 방법이에요. 기본 포트는 SSH 와 같은 22번이고, 아이디·비밀번호·파일이 모두 암호화돼요.
목차 보기
SFTP 는 SSH 로 암호화된 통로 안에서 파일을 주고받는 방법이에요. SSH File Transfer Protocol 의 줄임말이에요. 택배에 비유하면 잠긴 금고 트럭에 짐을 실어 보내는 방식이에요. 가는 길에 누가 엿봐도 아이디·비밀번호·파일 내용이 보이지 않아요. 기본 포트는 SSH 와 같은 22번이에요.
이 글에 나오는 말
- SSH는 다른 컴퓨터에 암호화된 연결로 접속하는 방법이에요. 서버 관리에 기본으로 써요.
- 키 인증은 비밀번호 대신 내 PC 에 있는 열쇠 파일로 접속하는 방법이에요.
- 포트는 서버 안에서 프로그램마다 나눠 쓰는 문 번호예요.
- 패킷 캡처는 네트워크로 오가는 데이터 조각을 잡아 들여다보는 일이에요.
SFTP 는 어떻게 동작하나요?
먼저 SSH 로 서버에 접속해요. 접속하는 순간부터 오가는 모든 데이터가 암호화돼요. 그다음 그 통로 안에서 '파일 올리기, 내려받기, 목록 보기' 같은 명령을 주고받아요. 명령과 파일이 한 연결, 한 포트로 다 지나가요. SSH 서버가 22번 포트에서 기다리는 건 RFC 4253에 적혀 있어요.
재미있는 사실이 하나 있어요. SFTP 는 정식 RFC 표준이 아니에요. 많이 쓰는 OpenSSH 는 2001년 인터넷 초안의 '버전 3'을 구현해요(OpenSSH 규격 목록). 표준이 아니어도 사실상 모든 서버와 프로그램이 이 방식을 써요.
FTP·FTPS 와 뭐가 달라요?
| SFTP | FTPS | FTP | |
|---|---|---|---|
| 바탕 | SSH | FTP + TLS 암호화 | 그대로(암호화 없음) |
| 쓰는 포트 | 22 하나 | 21 또는 990 + 데이터 포트 묶음 | 21 + 데이터 포트 |
| 방화벽에서 열 것 | 22번만 | 명령 포트 + 데이터 포트 범위 | 명령 포트 + 데이터 포트 범위 |
| 로그인 방법 | 비밀번호 또는 키 | 비밀번호 또는 인증서 | 비밀번호(평문) |
| 서버에 필요한 것 | SSH 서버(대개 이미 켜져 있어요) | FTP 서버 + 인증서 | FTP 서버 |
이름이 비슷하지만 SFTP 는 FTP 의 개량판이 아니에요. 뿌리가 SSH 예요. 그래서 리눅스 서버에 SSH 로 들어갈 수 있다면 대개 SFTP 도 바로 돼요. FTP 의 구조는 FTP 글에 있어요.
직접 접속해 봤어요
2026년 10월 29일 밤, 사무실 PC 의 Docker 에서 Ubuntu 24.04 컨테이너 두 대를 띄웠어요. 서버에는 OpenSSH 9.6p1 을 깔고, 내 컴퓨터 역할 쪽에서 열쇠를 만들어 서버에 등록했어요.
$ ssh-keygen -t ed25519 # 내 PC 에서 열쇠 한 쌍 만들기 # 공개 열쇠(id_ed25519.pub)를 서버의 ~/.ssh/authorized_keys 에 넣기 $ sftp demo@cg-fs sftp> put memo.txt memo_sftp.txt sftp> ls -l -rw-r--r-- ? demo demo 43 Oct 29 14:10 memo_sftp.txt
비밀번호를 묻지 않고 바로 들어가 파일이 올라갔어요. 이때 서버에서 22번 포트를 tcpdump 로 잡았어요. 메모 파일 속 글자를 캡처에서 찾았더니 0번 나왔어요. 읽을 수 있는 글자는 첫 인사말 SSH-2.0-OpenSSH_9.6p1 Ubuntu 정도였어요. 같은 파일을 FTP 로 보냈을 때는 아이디, 비밀번호, 파일 내용이 모두 그대로 보였어요.
윈도우도 따로 깔 게 없어요. 이 PC(윈도우 11)에는 OpenSSH_for_Windows_9.5p2 가 들어 있어서 명령 프롬프트에서 같은 sftp 명령이 돼요. 마이크로소프트 문서에 따르면 윈도우 10 빌드 1809 부터 OpenSSH 를 쓸 수 있어요.
FTP 보다 느린가요?
100MB 파일을 두 방식으로 5번씩 올렸어요. 같은 PC 안 컨테이너끼리라 회선 속도는 끼어들지 않은 값이에요.
2026-10-29 23:10, Docker 의 Ubuntu 24.04 컨테이너 2대, 5번 잰 가운데 값
표로 보기
| 방식 | 1회 | 2회 | 3회 | 4회 | 5회 | 가운데 값 |
|---|---|---|---|---|---|---|
| FTP 100MB | 0.084 | 0.082 | 0.077 | 0.078 | 0.078 | 0.078초 |
| SFTP 100MB | 0.401 | 0.374 | 0.365 | 0.367 | 0.367 | 0.367초 |
| SFTP 접속+ls | 0.164 | 0.169 | 0.168 | 0.169 | 0.164 | 0.168초 |
이 조건에서는 FTP 가 빨랐어요. SFTP 는 0.37초 중 약 0.17초를 접속하고 열쇠를 맞추는 데 썼어요. 실제 파일 전송은 0.2초 남짓이에요. 인터넷을 거치면 대개 회선 속도가 먼저 한계가 돼요. 100Mbps 회선이면 100MB 를 보내는 데만 8초 넘게 걸리니까요. 작은 파일 수천 개를 보낼 때는 접속을 한 번 열어 둔 채 몰아서 보내는 게 좋아요.
자주 하는 오해
"SFTP 는 FTP 에 보안만 더한 거예요"
FTP 에 암호화를 씌운 건 FTPS 예요. SFTP 는 SSH 위에서 도는 다른 방식이에요. 접속 프로그램에서 프로토콜을 고를 때 둘을 헷갈리면 접속이 안 돼요.
"SFTP 를 쓰려면 서버에 따로 설치해야 해요"
OpenSSH 서버에는 SFTP 서버 기능이 같이 들어 있어요. SSH 로 접속되는 서버라면 대개 추가 설치 없이 돼요.
"암호화했으니 비밀번호는 아무거나 써도 돼요"
통로가 안전해도 비밀번호를 맞히는 공격은 막지 못해요. 가능하면 키 인증을 쓰고, 22번은 내 IP 에만 열어 두세요.
퓨쳐인프라에서는
퓨쳐인프라 가상서버는 만들 때 SSH 키를 등록하면 root 로 바로 접속할 수 있어요. 같은 키로 SFTP 도 바로 돼요. 위에서 해 본 sftp root@서버주소 그대로예요. 파일질라를 쓴다면 프로토콜을 SFTP 로 고르고 키 파일을 넣으면 돼요.
기본 방화벽은 처음에 모든 포트가 닫혀 있어요. 22번은 내 IP 에만, 웹사이트는 80·443 을 여는 식으로 필요한 것만 열어요. FTP 처럼 데이터 포트 범위를 따로 열 필요가 없어요. 서버는 만들면 약 40초 뒤 주소와 HTTPS 가 같이 준비돼요(2026년 10월 29일 가상서버 안내 기준).
자주 묻는 질문
SFTP 포트는 몇 번이에요?
기본은 SSH 와 같은 22번이에요. 서버에서 SSH 포트를 바꿨다면 그 번호를 써요. 명령어는 sftp -P 2222 사용자@주소 처럼 대문자 P 로 포트를 줘요.
SFTP 에서 자주 쓰는 명령은 뭐예요?
put 은 올리기, get 은 내려받기, ls 는 서버 목록, lls 는 내 PC 목록이에요. 폴더째 옮길 때는 put -r, get -r 을 써요. 끝낼 때는 exit 예요.
scp 와 SFTP 는 뭐가 달라요?
scp 는 한 줄 명령으로 복사만 하는 도구예요. OpenSSH 9.0(2022년 4월)부터 scp 도 안에서는 SFTP 방식으로 파일을 옮겨요(OpenSSH 9.0 릴리스 노트).
파일질라에서 SFTP 는 어떻게 골라요?
접속 정보를 넣는 화면에서 프로토콜을 SFTP 로 고르고, 호스트·포트 22·사용자를 넣어요. 키로 접속한다면 로그온 방식에서 키 파일을 지정해요.
관련 용어
SSH · FTP · 포트 · 방화벽 · TLS · 리눅스 · 우분투
- 글쓴이는 서순명(솔리드그루 이사)이에요. 솔리드그루는 국내 IDC 에서 클라우드 서버·앱 호스팅·AI API 서비스 퓨쳐인프라를 운영해요. 2026년 10월 29일에 썼어요.
- 운영사는 솔리드그루예요. 사업자등록번호 875-44-00335 · 서울특별시 구로구 디지털로29길 38, 7층 707호 · 전화 02-6933-6229 · support@futureinfra.ai · 고객센터 · 이용약관
- 한계도 있어요. 실습은 사무실 PC(서울, Docker Desktop 29.1.3)에서 Ubuntu 24.04 컨테이너 두 대를 같은 가상 네트워크에 두고 했어요. 속도는 인터넷을 거치지 않은 값이라 실제 회선에서는 다르게 나와요. 테스트 계정만 썼어요.
- 이해관계를 밝혀 둬요. 퓨쳐인프라 가상서버를 운영하는 회사가 쓴 글이고, 끝에 자사 서버 안내가 있어요. OpenSSH·파일질라 개발진과는 관계가 없어요.
연관 서비스
많이 본 글
-
블로그
도메인 구매 사이트 추천 2026 — 가비아·후이즈 등 15곳 갱신·이전비 비교
같은 .co.kr 도 등록업체 15곳의 3년 값이 3.8만~8.6만 원이에요(11월 3일 KRNIC 표). 갱신가·이전비·해외 업체 조건, 11월 인상 뒤 가비아 실제 화면, 구매처 확인과 기관이전까지 정리했어요. -
블로그
무료 도메인 사이트 추천 2026 — 내도메인.한국·DuckDNS 발급 방법
내도메인.한국·DuckDNS 처럼 계속 무료인 주소 10곳을 11월 3일 서울에서 다시 재고(6곳 6ms 안), 발급 순서·구글·네이버 무료 주소·'첫해 무료'의 2년째 값까지 정리했어요. -
블로그
클로드 MCP·Gemini MCP 연동 방법 2026, MCP 서버 9곳
클로드 MCP(데스크톱·Claude Code)와 Gemini MCP 연동(Gemini CLI·안티그래비티·Gemini 앱·API) 등 9곳의 MCP 서버 연결법을 공식 문서로 정리했어요. 원격 57ms 실측과 오류 해결까지. -
블로그
Gemini 3.9 Flash 나왔나요? 지금 최신은 3.8 Flash — 3.7과 직접 잰 속도·비용
2026년 9월 22일 기준 Gemini 3.9 Flash는 미출시입니다. 최신 3.8 Flash의 사양·가격(2027년 2배 인상)과, 3.7 Flash와 같은 과제로 직접 잰 속도·비용·JSON 형식 준수 차이를 정리했습니다. -
블로그
서버비 한 달 얼마? 방문자 10만 명도 월 3만 2천 원(2026 계산)
월 방문자 1천·1만 명은 1만 4천 원, 10만 명은 3만 2천 원이에요. 요금제별 트래픽 기본 제공량까지 넣어 다시 계산하고 AWS·카페24·가비아·네이버클라우드 값과 숨은 비용을 비교했어요(2026-10-26 확인).
댓글
로그인하면 댓글을 남길 수 있습니다.